Skip to content

ci(pr): skip build/test jobs for ci/docker-only changes#1158

Merged
rgsl888prabhu merged 4 commits intomainfrom
skip-pr-ci-for-dockerfile-changes
May 4, 2026
Merged

ci(pr): skip build/test jobs for ci/docker-only changes#1158
rgsl888prabhu merged 4 commits intomainfrom
skip-pr-ci-for-dockerfile-changes

Conversation

@rgsl888prabhu
Copy link
Copy Markdown
Collaborator

Summary

  • Add !ci/docker/** to all four changed-files filter groups in .github/workflows/pr.yaml (build_docs, test_cpp, test_python_conda, test_python_wheels).
  • Dockerfile-only PRs were tripping every conda/wheel build and test, even though the image itself is built and tested in build_test_publish_images.yaml (post-merge build.yaml), not in pr.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 under ci/ (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 of ci/ and matches the intent of the existing !.github/workflows/build_test_publish_images.yaml exclusion (which keeps changes to the image-publish workflow itself out of pr.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 in pr.yaml that calls build_test_publish_images.yaml when ci/docker/** changes. Out of scope here — the goal of this PR is just to stop wasting CI cycles.

Test plan

  • Land this PR; on a follow-up Dockerfile-only PR, confirm only checks / pr-builder / changed-files run and the conda/wheel/docs jobs are skipped.
  • On a code-touching PR (e.g. modifying cpp/ or python/), confirm the full matrix still runs.

🤖 Generated with Claude Code

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]>
@rgsl888prabhu rgsl888prabhu requested a review from a team as a code owner April 29, 2026 19:27
@rgsl888prabhu rgsl888prabhu requested a review from msarahan April 29, 2026 19:27
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 29, 2026

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: f1e6e504-acad-430a-9e78-ecfffd0a7ea7

📥 Commits

Reviewing files that changed from the base of the PR and between 7ce4909 and 6a89222.

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

📝 Walkthrough

Walkthrough

The PR updates the GitHub Actions changed-files path filters to add an exclusion pattern !ci/docker/** so changes limited to ci/docker/** do not trigger several job groups.

Changes

CI Workflow Configuration

Layer / File(s) Summary
Config change
.github/workflows/pr.yaml
Adds exclusion pattern !ci/docker/** to the changed-files path filters for build_docs, test_cpp, test_python_conda, and test_python_wheels groups (four separate pattern entries).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main change: adding exclusions to skip build/test jobs for Dockerfile-only changes in the CI workflow.
Description check ✅ Passed The description is detailed and directly related to the changeset, explaining the motivation, implementation, and testing approach for the Dockerfile-only CI skip feature.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch skip-pr-ci-for-dockerfile-changes

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.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


Review rate limit: 9/10 reviews remaining, refill in 6 minutes.

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

@mlubin
Copy link
Copy Markdown
Contributor

mlubin commented Apr 29, 2026

Hmm, couldn't changes to the dockerfiles cause other downstream tests to fail? Are these describing the docker containers that the tests run in?

@rgsl888prabhu rgsl888prabhu self-assigned this Apr 29, 2026
@rgsl888prabhu rgsl888prabhu added non-breaking Introduces a non-breaking change improvement Improves an existing functionality labels Apr 29, 2026
@rgsl888prabhu
Copy link
Copy Markdown
Collaborator Author

These docker images are built only in night-lies, so these will not get built in any PRs, so they will not be tested.

@rgsl888prabhu
Copy link
Copy Markdown
Collaborator Author

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.

@rgsl888prabhu rgsl888prabhu merged commit 5b90fb3 into main May 4, 2026
95 of 106 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement Improves an existing functionality non-breaking Introduces a non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants