Require linting before running unit, integ, and smoke tests.
Linting should be an extremely low-watermark requirement
for evaluating build health. Blocking on it allows use to reduce
the number of concurrent runners who are cancelled early.
@@ -197,7 +197,7 @@ jobs:
build-targets: "${{ fromJson(steps.matrix.outputs.build-targets) }}"
lint:
- name: lint
+ name: Lint
needs: [matrix]
if: ${{ inputs.lint }}
uses: ./.github/workflows/ci-lint.yml
@@ -243,7 +243,7 @@ jobs:
# To this:
# CI / Unit Test / sdk/dotnet dotnet_test on macos-11/current
name: Unit Test${{ matrix.platform && '' }}
- needs: [matrix]
+ needs: [matrix, lint]
if: ${{ needs.matrix.outputs.unit-test-matrix != '{}' }}
strategy:
fail-fast: ${{ contains(needs.matrix.outputs.unit-test-matrix, 'macos') }}
@@ -268,7 +268,7 @@ jobs:
# By putting a variable in the name, we remove GitHub's auto-generated matrix parameters from
# appearing in the rendered title of the job name. See: unit test.
name: Integration Test${{ matrix.platform && '' }}
- needs: [matrix, build-binaries, build-sdks]
+ needs: [matrix, build-binaries, build-sdks, lint]
if: ${{ needs.matrix.outputs.integration-test-matrix != '{}' }}
strategy:
fail-fast: ${{ contains(needs.matrix.outputs.integration-test-matrix, 'macos') }}
