diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index cf3e1cdcae..3a85f2fa67 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -144,7 +144,14 @@ jobs: run-ros-tests: needs: [check-changes, ros-dev] - if: always() + if: ${{ + always() && + needs.check-changes.result == 'success' && + (needs.check-changes.outputs.tests == 'true' || + needs.check-changes.outputs.ros == 'true' || + needs.check-changes.outputs.python == 'true' || + needs.check-changes.outputs.dev == 'true') + }} uses: ./.github/workflows/tests.yml secrets: inherit with: @@ -160,7 +167,13 @@ jobs: run-tests: needs: [check-changes, dev] - if: always() + if: ${{ + always() && + needs.check-changes.result == 'success' && + (needs.check-changes.outputs.tests == 'true' || + needs.check-changes.outputs.python == 'true' || + needs.check-changes.outputs.dev == 'true') + }} uses: ./.github/workflows/tests.yml secrets: inherit with: @@ -176,7 +189,13 @@ jobs: # we run in parallel with normal tests for speed run-heavy-tests: needs: [check-changes, dev] - if: always() + if: ${{ + always() && + needs.check-changes.result == 'success' && + (needs.check-changes.outputs.tests == 'true' || + needs.check-changes.outputs.python == 'true' || + needs.check-changes.outputs.dev == 'true') + }} uses: ./.github/workflows/tests.yml secrets: inherit with: @@ -191,7 +210,13 @@ jobs: run-lcm-tests: needs: [check-changes, dev] - if: always() + if: ${{ + always() && + needs.check-changes.result == 'success' && + (needs.check-changes.outputs.tests == 'true' || + needs.check-changes.outputs.python == 'true' || + needs.check-changes.outputs.dev == 'true') + }} uses: ./.github/workflows/tests.yml secrets: inherit with: @@ -206,7 +231,13 @@ jobs: run-integration-tests: needs: [check-changes, dev] - if: always() + if: ${{ + always() && + needs.check-changes.result == 'success' && + (needs.check-changes.outputs.tests == 'true' || + needs.check-changes.outputs.python == 'true' || + needs.check-changes.outputs.dev == 'true') + }} uses: ./.github/workflows/tests.yml secrets: inherit with: @@ -221,7 +252,14 @@ jobs: run-mypy: needs: [check-changes, ros-dev] - if: always() + if: ${{ + always() && + needs.check-changes.result == 'success' && + (needs.check-changes.outputs.tests == 'true' || + needs.check-changes.outputs.ros == 'true' || + needs.check-changes.outputs.python == 'true' || + needs.check-changes.outputs.dev == 'true') + }} uses: ./.github/workflows/tests.yml secrets: inherit with: @@ -271,7 +309,7 @@ jobs: # /entrypoint.sh bash -c "pytest -m module" ci-complete: - needs: [run-tests, run-heavy-tests, run-lcm-tests, run-integration-tests, run-ros-tests, run-mypy] + needs: [ros, python, ros-python, dev, ros-dev, run-tests, run-heavy-tests, run-lcm-tests, run-integration-tests, run-ros-tests, run-mypy] runs-on: [self-hosted, Linux] if: always() steps: diff --git a/docs/ci-gate-test.md b/docs/ci-gate-test.md new file mode 100644 index 0000000000..d4331323f3 --- /dev/null +++ b/docs/ci-gate-test.md @@ -0,0 +1,4 @@ +# CI Gate Verification + +Test file to verify md-only PRs skip the test suite and pass ci-complete. +Delete after verification.