Skip to content

ci: gate DynamoCheckpoint deploy tests on snapshot changes only#11046

Merged
nv-tusharma merged 5 commits into
mainfrom
ci-checkpoint-snapshot-filter
Jul 6, 2026
Merged

ci: gate DynamoCheckpoint deploy tests on snapshot changes only#11046
nv-tusharma merged 5 commits into
mainfrom
ci-checkpoint-snapshot-filter

Conversation

@nv-tusharma

@nv-tusharma nv-tusharma commented Jun 29, 2026

Copy link
Copy Markdown
Collaborator

Summary

The vLLM/SGLang DynamoCheckpoint Deploy Test chain previously triggered on the operator, snapshot, or deploy filters. All three of those include the shared *ci anchor, so any CI change (and any operator/deploy change) spun up the expensive GPU vCluster checkpoint setup — running or skipping the checkpoint test even when nothing checkpoint-related changed.

This PR narrows the trigger to the snapshot filter only and drops *ci from that filter.

Changes

  • .github/filters.yaml: remove *ci from the snapshot filter; add tests/deploy/test_dynamocheckpoint.py so edits to the checkpoint test itself still run it.
  • .github/workflows/pr.yaml: narrow the gating from (operator || snapshot || deploy) to (snapshot == 'true') across all 11 checkpoint-exclusive jobs (operator setup, snapshot-agent setup, snapshot placeholders, frontend copy, the deploy tests, and cleanup) — not just the test jobs, so the expensive vCluster setup doesn't run when the test won't.

Behavior

  • A change under deploy/snapshot/** (or the checkpoint test file) → full checkpoint chain runs, as before.
  • CI-only, operator-only, or deploy-only changes → checkpoint chain is now skipped.
  • post-merge-ci.yml is unaffected (it has no changed-files gating; checkpoint tests still always run on merges to main).
  • Shared *-build / *-copy-to-acr jobs are untouched; they already include snapshot in their OR, so a snapshot-only PR still drives the full chain correctly.

🤖 Generated with Claude Code


Open in Devin Review

Summary by CodeRabbit

  • Chores
    • Updated change detection for snapshot-related CI to include an additional checkpoint test file.
    • Snapshot image copy, deployment, testing, and cleanup jobs now run only when snapshot files change, reducing unnecessary pipeline runs.

The vLLM/SGLang DynamoCheckpoint deploy test chain previously triggered
on the operator, snapshot, or deploy filters (all of which include the
shared *ci anchor), so unrelated CI and operator/deploy changes spun up
the expensive GPU vCluster setup only to run or skip the checkpoint test.

Narrow the entire checkpoint-exclusive chain (operator/snapshot-agent
setup, snapshot placeholders, frontend copy, the deploy tests, and
cleanup) to gate on the snapshot filter only, and drop *ci from the
snapshot filter so CI-only changes no longer trigger it. Add the
checkpoint test file to the snapshot filter so edits to the test still
run it.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@nv-tusharma nv-tusharma requested a review from a team as a code owner June 29, 2026 16:54
@github-actions github-actions Bot added ci Issues/PRs that reference CI build/test actions labels Jun 29, 2026
@coderabbitai

coderabbitai Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 7b102c4e-7bad-4098-beef-3f9200e62897

📥 Commits

Reviewing files that changed from the base of the PR and between 1e05725 and c147f90.

📒 Files selected for processing (2)
  • .github/filters.yaml
  • .github/workflows/pr.yaml

Walkthrough

The snapshot CI filter in .github/filters.yaml drops the *ci anchor and adds tests/deploy/test_dynamocheckpoint.py. In .github/workflows/pr.yaml, all DynamoCheckpoint-related jobs (frontend copy, placeholder images, operator/agent setup, deploy tests, cleanup) have their if: conditions narrowed to trigger only on snapshot == 'true', removing the previous operator/deploy OR clauses.

Changes

Snapshot CI Filter and Workflow Gating

Layer / File(s) Summary
Snapshot path filter
.github/filters.yaml
Removes the *ci anchor from the snapshot block and adds tests/deploy/test_dynamocheckpoint.py to the tracked paths.
Narrow job if-conditions to snapshot only
.github/workflows/pr.yaml
frontend-copy-to-acr, snapshot-placeholder-vllm/sglang, checkpoint operator/agent setup, deploy test, and cleanup jobs all drop operator/deploy from their OR conditions and gate solely on snapshot == 'true'.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description covers the change, but it misses required template sections and the mandatory Related Issues block. Add the Overview, Details, Where should reviewer start?, and Related Issues sections, including a linked issue or a confirmed no-issue checkbox.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: gating DynamoCheckpoint deploy tests on snapshot-only changes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

Comment @coderabbitai help to get the list of available commands.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 potential issue.

Open in Devin Review

Comment thread .github/filters.yaml
@datadog-official

datadog-official Bot commented Jun 29, 2026

Copy link
Copy Markdown

🎯 Code Coverage (details)
Patch Coverage: 100.00%
Overall Coverage: 41.09% (-5.96%)

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 0fdd367 | Docs | Give us feedback!

@galletas1712

Copy link
Copy Markdown
Contributor

Can we also gate on components/src/dynamo/common/snapshot and deploy/operator/internal/checkpoint?

…dirs

Address review feedback: also trigger the DynamoCheckpoint deploy tests
when the shared snapshot module (components/src/dynamo/common/snapshot)
or the operator's checkpoint internals (deploy/operator/internal/checkpoint)
change, since both feed the checkpoint pipeline.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@nv-tusharma

Copy link
Copy Markdown
Collaborator Author

Good call - added both components/src/dynamo/common/snapshot/** and deploy/operator/internal/checkpoint/** to the snapshot filter in 3aa42b0.

…t-filter

# Conflicts:
#	.github/workflows/pr.yaml
@nv-tusharma nv-tusharma enabled auto-merge (squash) July 6, 2026 20:43
@nv-tusharma nv-tusharma merged commit 4824974 into main Jul 6, 2026
98 checks passed
@nv-tusharma nv-tusharma deleted the ci-checkpoint-snapshot-filter branch July 6, 2026 22:56
galletas1712 added a commit that referenced this pull request Jul 7, 2026
…s only

Follow the vLLM/SGLang pattern from #11046 (ci: gate DynamoCheckpoint
deploy tests on snapshot changes only): narrow the changed-files gate on
every TRTLLM checkpoint job (snapshot-placeholder, operator setup,
snapshot-agent, deploy-test, cleanup) from (operator || snapshot ||
deploy) to (snapshot == 'true'). Also drop the redundant operator.result
== 'skipped' branch so the operator-setup gate matches vLLM/SGLang.

The snapshot path filter (.github/filters.yaml) already covers
tests/deploy/test_dynamocheckpoint.py, so TRTLLM test changes still
trigger these jobs. post-merge-ci.yml already gates all three frameworks
identically and needs no change.

Signed-off-by: Schwinn Saereesitthipitak <schwinns@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

actions ci Issues/PRs that reference CI build/test size/M

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants