diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..1cb645063 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,21 @@ +on: + workflow_call: + inputs: + os: + required: true + type: string + +jobs: + + tests: + strategy: + fail-fast: false + runs-on: ${{ inputs.os }} + timeout-minutes: 60 + steps: + - uses: actions/checkout@v4 + - uses: DeterminateSystems/nix-installer-action@main + with: + flakehub: true + - uses: DeterminateSystems/magic-nix-cache-action@main + - run: nix build diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a3344f207..fd89614f7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,23 +14,41 @@ permissions: jobs: + build_x86_64-linux: + uses: ./.github/workflows/build.yml + with: + os: UbuntuLatest32Cores128G + + build_aarch64-linux: + uses: ./.github/workflows/build.yml + with: + os: UbuntuLatest32Cores128GArm + + build_aarch64-darwin: + uses: ./.github/workflows/build.yml + with: + os: macos-latest + test_x86_64-linux: uses: ./.github/workflows/test.yml + needs: build_x86_64-linux with: os: UbuntuLatest32Cores128G test_aarch64-linux: uses: ./.github/workflows/test.yml + needs: build_aarch64-linux with: os: UbuntuLatest32Cores128GArm test_aarch64-darwin: uses: ./.github/workflows/test.yml + needs: build_aarch64-darwin with: os: macos-latest vm_tests: - needs: test_x86_64-linux + needs: build_x86_64-linux runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 @@ -41,7 +59,7 @@ jobs: - run: nix build -L .#hydraJobs.tests.githubFlakes .#hydraJobs.tests.tarballFlakes flake_regressions: - needs: test_x86_64-linux + needs: build_x86_64-linux runs-on: ubuntu-22.04 steps: - name: Checkout nix