diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index aefaf6c9a..472904bb2 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -33,7 +33,19 @@ on: default: 'ollama' concurrency: - group: ${{ github.workflow }}-${{ github.ref }}-${{ contains(github.event.pull_request.labels.*.name, 're-record-tests') && 'rerecord' || 'replay' }} + # This creates three concurrency groups: + # ${{ github.workflow }}-${{ github.ref }}-rerecord (for valid triggers with re-record-tests label) + # ${{ github.workflow }}-${{ github.ref }}-replay (for valid triggers without re-record-tests label) + # ${{ github.workflow }}-${{ github.ref }}-no-run (for invalid triggers that will be skipped) + # The "no-run" group ensures that irrelevant label events don't interfere with the real workflows. + group: >- + ${{ github.workflow }}-${{ github.ref }}-${{ + (github.event.action == 'opened' || + github.event.action == 'synchronize' || + (github.event.action == 'labeled' && contains(github.event.pull_request.labels.*.name, 're-record-tests'))) && + (contains(github.event.pull_request.labels.*.name, 're-record-tests') && 'rerecord' || 'replay') || + 'no-run' + }} cancel-in-progress: true jobs: @@ -110,7 +122,7 @@ jobs: uses: ./.github/actions/run-integration-tests with: test-types: ${{ needs.discover-tests.outputs.test-types }} - stack-config: 'ci-tests' + stack-config: 'server:ci-tests' # recording must be done with server since more tests are run provider: ${{ inputs.test-provider }} inference-mode: 'record'