Unverified Commit e094a2db authored by Tushar Sharma's avatar Tushar Sharma Committed by GitHub
Browse files

ci: allow deploy jobs to be cancelled by concurrency groups (#7169)


Signed-off-by: default avatarTushar Sharma <tusharma@nvidia.com>
Co-authored-by: default avatarClaude Opus 4.6 (1M context) <noreply@anthropic.com>
parent af30b779
...@@ -253,7 +253,7 @@ jobs: ...@@ -253,7 +253,7 @@ jobs:
runs-on: prod-default-small-v2 runs-on: prod-default-small-v2
# Run when any deploy test will run: if any framework or deploy files changed # Run when any deploy test will run: if any framework or deploy files changed
if: | if: |
always() && !cancelled() &&
(needs.changed-files.outputs.vllm == 'true' || (needs.changed-files.outputs.vllm == 'true' ||
needs.changed-files.outputs.sglang == 'true' || needs.changed-files.outputs.sglang == 'true' ||
needs.changed-files.outputs.trtllm == 'true' || needs.changed-files.outputs.trtllm == 'true' ||
...@@ -301,13 +301,13 @@ jobs: ...@@ -301,13 +301,13 @@ jobs:
# End-to-end tests for each framework with various deployment profiles # End-to-end tests for each framework with various deployment profiles
# ============================================================================ # ============================================================================
deploy-test-vllm: deploy-test-vllm:
# Run if core, vllm, or deploy is changed # !cancelled() && !failure() is required because reusable workflows with skipped
# always() is needed because reusable workflows with skipped internal jobs # internal jobs (e.g. multi-gpu tests) propagate non-success through `needs`,
# (e.g. multi-gpu tests, arm64 copy) cause GitHub Actions to skip dependent # auto-skipping dependents. See: https://github.com/orgs/community/discussions/189172
# jobs unless always() is present. !failure() ensures we still skip on real failures.
if: | if: |
always() && !failure() && !cancelled() && !failure() &&
(needs.changed-files.outputs.vllm == 'true' || needs.changed-files.outputs.deploy == 'true') (needs.changed-files.outputs.vllm == 'true' || needs.changed-files.outputs.deploy == 'true') &&
(needs.vllm-pipeline.result == 'success')
runs-on: prod-default-small-v2 runs-on: prod-default-small-v2
needs: [changed-files, deploy-operator, vllm-pipeline] needs: [changed-files, deploy-operator, vllm-pipeline]
timeout-minutes: 25 timeout-minutes: 25
...@@ -344,10 +344,10 @@ jobs: ...@@ -344,10 +344,10 @@ jobs:
deploy-test-sglang: deploy-test-sglang:
runs-on: prod-default-small-v2 runs-on: prod-default-small-v2
# Run if core, sglang, or deploy is changed (see deploy-test-vllm for always() rationale)
if: | if: |
always() && !failure() && !cancelled() && !failure() &&
(needs.changed-files.outputs.sglang == 'true' || needs.changed-files.outputs.deploy == 'true') (needs.changed-files.outputs.sglang == 'true' || needs.changed-files.outputs.deploy == 'true') &&
(needs.sglang-pipeline.result == 'success')
needs: [changed-files, deploy-operator, sglang-pipeline] needs: [changed-files, deploy-operator, sglang-pipeline]
timeout-minutes: 25 timeout-minutes: 25
permissions: permissions:
...@@ -381,10 +381,10 @@ jobs: ...@@ -381,10 +381,10 @@ jobs:
deploy-test-trtllm: deploy-test-trtllm:
runs-on: prod-default-small-v2 runs-on: prod-default-small-v2
# Run if core, trtllm, or deploy is changed (see deploy-test-vllm for always() rationale)
if: | if: |
always() && !failure() && !cancelled() && !failure() &&
(needs.changed-files.outputs.trtllm == 'true' || needs.changed-files.outputs.deploy == 'true') (needs.changed-files.outputs.trtllm == 'true' || needs.changed-files.outputs.deploy == 'true') &&
(needs.trtllm-pipeline.result == 'success')
needs: [changed-files, deploy-operator, trtllm-pipeline] needs: [changed-files, deploy-operator, trtllm-pipeline]
timeout-minutes: 25 timeout-minutes: 25
permissions: permissions:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment