ci(pr): skip build/test jobs for ci/docker-only changes#1158
ci(pr): skip build/test jobs for ci/docker-only changes#1158rgsl888prabhu merged 4 commits intomainfrom
Conversation
The four changed-files filter groups in pr.yaml denylist every other build script under ci/ but not ci/docker/**, so a Dockerfile-only PR triggers all conda/wheel builds and tests while the actual image is neither built nor tested in pr.yaml (image build/test lives in build_test_publish_images.yaml, gated on post-merge build.yaml). Add '!ci/docker/**' to all four filter groups so Dockerfile-only PRs no longer trigger irrelevant CI. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe PR updates the GitHub Actions changed-files path filters to add an exclusion pattern ChangesCI Workflow Configuration
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. Review rate limit: 9/10 reviews remaining, refill in 6 minutes. Comment |
|
Hmm, couldn't changes to the dockerfiles cause other downstream tests to fail? Are these describing the docker containers that the tests run in? |
|
These docker images are built only in night-lies, so these will not get built in any PRs, so they will not be tested. |
|
And normally if the packages are getting built in conda and wheel env and running, this should work. But there are corner cases that might break. |
Summary
!ci/docker/**to all fourchanged-filesfilter groups in.github/workflows/pr.yaml(build_docs,test_cpp,test_python_conda,test_python_wheels).build_test_publish_images.yaml(post-mergebuild.yaml), not inpr.yaml. Result: maximum CI cost, zero coverage of the change. This patch makes such PRs skip the irrelevant jobs.Why
Each filter group starts with
'**'and excludes specific paths with!. Every other script underci/(ci/build_*.sh,ci/test_*.sh,ci/release/**,ci/thirdparty-testing/**, etc.) is already excluded;ci/docker/**was an oversight. Adding it brings the deny list in line with the rest ofci/and matches the intent of the existing!.github/workflows/build_test_publish_images.yamlexclusion (which keeps changes to the image-publish workflow itself out ofpr.yaml).Follow-up (not in this PR)
If we want Dockerfile changes to actually be smoke-tested on PRs, that needs a separate
if:-gated job inpr.yamlthat callsbuild_test_publish_images.yamlwhenci/docker/**changes. Out of scope here — the goal of this PR is just to stop wasting CI cycles.Test plan
checks/pr-builder/changed-filesrun and the conda/wheel/docs jobs are skipped.cpp/orpython/), confirm the full matrix still runs.🤖 Generated with Claude Code