From a4d1dfbab64cc83e029e4c34c5d2de97846bf474 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 11 Jul 2024 13:25:39 +0200 Subject: [PATCH] Split building and testing to improve parallelism --- .github/workflows/build.yml | 21 +++++++++++++++++++++ .github/workflows/ci.yml | 22 ++++++++++++++++++++-- 2 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/build.yml 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