From c64b47eec65e8607f2b5276bcd522d7cd97fe8ba Mon Sep 17 00:00:00 2001 From: Jared Tobin Date: Fri, 23 Jan 2026 08:21:02 +0400 Subject: [PATCH] ci: add a 'build-itest' job to main workflow Adds a separate 'build-itest' job that builds the itest binaries prior to the actual itest jobs being kicked off. With this change we'll rebuild the itest binaries at most once, instead of at most four times. --- .github/workflows/main.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 651610f0..657ae54a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -267,12 +267,37 @@ jobs: - name: run ${{ matrix.unit_type }} run: make ${{ matrix.unit_type }} + ######################## + # build itest binaries (cache warming) + ######################## + build-itest: + name: build itest binaries + runs-on: ubuntu-latest + steps: + - name: git checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: setup go ${{ env.GO_VERSION }} + uses: ./.github/actions/setup-go + with: + go-version: '${{ env.GO_VERSION }}' + key-prefix: itest + + - name: prepare dummy static data + run: mkdir -p app/build; touch app/build/index.html + + - name: build itest binaries + run: make build-itest build-itest-binary + ######################## # integration tests ######################## itest: name: integration test runs-on: ubuntu-latest + needs: build-itest strategy: # Allow other tests in the matrix to continue if one fails. fail-fast: false