Skip to content

[ci] Ignore changes in docs/decisions directory for pull requests - #17693

Merged
diemol merged 1 commit into
trunkfrom
skip-ci-for-adr-prs
Jun 19, 2026
Merged

[ci] Ignore changes in docs/decisions directory for pull requests#17693
diemol merged 1 commit into
trunkfrom
skip-ci-for-adr-prs

Conversation

@diemol

@diemol diemol commented Jun 19, 2026

Copy link
Copy Markdown
Member

💥 What does this PR do?

We do not need to run CI for ADRs.

🤖 AI assistance

  • No substantial AI assistance used
  • AI assisted (complete below)
    • Tool(s):
    • What was generated:
    • I reviewed all AI output and can explain the change

@selenium-ci selenium-ci added the B-build Includes scripting, bazel and CI integrations label Jun 19, 2026
@qodo-code-review

Copy link
Copy Markdown
Contributor

PR Summary by Qodo

Skip CI workflows for ADR-only PRs under docs/decisions
⚙️ Configuration changes 🕐 Less than 5 minutes

Grey Divider

Description

• Prevent CI workflows from running on PRs that only change ADRs in docs/decisions.
• Keep push-to-trunk CI behavior unchanged.
• Reduce wasted CI capacity and reviewer noise for documentation-only changes.
Diagram

graph TD
  pr{{"Pull request"}} --> filt{"Ignore docs/decisions?"} --> lint["CI - Lint"] & rbe["CI - RBE"] & ci["CI"]
  subgraph Legend
    direction LR
    _ext{{"External event"}} ~~~ _dec{"Decision"} ~~~ _wf["Workflow"]
  end
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Use allow-list paths (paths) instead of paths-ignore
  • ➕ Tighter control: CI runs only when relevant code areas change
  • ➕ Avoids edge cases where other docs should still run CI
  • ➖ Higher maintenance: must keep allow-list updated as repo structure evolves
  • ➖ Risk of accidentally skipping CI for important changes in new paths
2. Skip CI via PR label / command (job-level if condition)
  • ➕ More flexible: can skip CI for other low-risk PR types on demand
  • ➕ Does not rely on directory structure conventions
  • ➖ Requires additional process and education for contributors
  • ➖ More complex workflow logic and more opportunities for misconfiguration

Recommendation: Keep the current paths-ignore approach: it is the simplest, lowest-maintenance solution for the stated goal (skip ADR-only changes) and is easy to reason about. The allow-list approach can be considered later if CI skipping needs to become broader or more granular.

Files changed (3) +6 / -0

Other (3) +6 / -0
ci-lint.ymlSkip lint workflow on docs/decisions-only PR changes +2/-0

Skip lint workflow on docs/decisions-only PR changes

• Adds a pull_request paths-ignore rule for docs/decisions/** so ADR-only PRs do not trigger the lint workflow. Push-to-trunk triggering remains unchanged.

.github/workflows/ci-lint.yml

ci-rbe.ymlSkip RBE workflow on docs/decisions-only PR changes +2/-0

Skip RBE workflow on docs/decisions-only PR changes

• Adds a pull_request paths-ignore rule for docs/decisions/** so ADR-only PRs do not trigger the RBE workflow. Push-to-trunk triggering remains unchanged.

.github/workflows/ci-rbe.yml

ci.ymlSkip main CI workflow on docs/decisions-only PR changes +2/-0

Skip main CI workflow on docs/decisions-only PR changes

• Adds a pull_request paths-ignore rule for docs/decisions/** so ADR-only PRs do not trigger the main CI workflow. Push-to-trunk triggering remains unchanged.

.github/workflows/ci.yml

@qodo-code-review

Copy link
Copy Markdown
Contributor

Code Review by Qodo

🐞 Bugs (1) 📘 Rule violations (0) 📜 Skill insights (0)

Context used
✅ Compliance rules (platform): 11 rules

Grey Divider


Action required

1. Required checks not created 🐞 Bug ☼ Reliability
Description
Adding paths-ignore: 'docs/decisions/**' under on.pull_request prevents these workflows from
triggering on ADR-only PRs, so the required status check contexts are never created. With the repo
ruleset requiring CI Success, Test / All RBE tests, Validate workflows, and `Format / Check
Format`, ADR-only PRs can become unmergeable due to missing required checks.
Code

.github/workflows/ci.yml[R5-6]

+    paths-ignore:
+      - 'docs/decisions/**'
Evidence
The repo has an active ruleset that requires CI check contexts which are produced by the workflows
being path-filtered; if the workflows don’t trigger on ADR-only PRs, those required contexts won’t
exist, blocking merges.

.github/rulesets/release-require-passing.json[14-37]
.github/workflows/ci.yml[3-9]
.github/workflows/ci.yml[145-156]
.github/workflows/ci-rbe.yml[3-10]
.github/workflows/ci-rbe.yml[27-37]
.github/workflows/ci-lint.yml[3-11]
.github/workflows/ci-lint.yml[18-27]
.github/workflows/ci-lint.yml[49-65]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
The CI workflows are configured with `paths-ignore` for `docs/decisions/**` on `pull_request`, which prevents the workflows from running and therefore prevents required status check contexts from being created.

### Issue Context
The repo ruleset requires specific check contexts produced by these workflows (CI/RBE/Lint). If the workflow does not trigger, GitHub does not create those check runs/contexts, and merges can be blocked.

### Fix Focus Areas
- .github/workflows/ci.yml[3-9]
- .github/workflows/ci-rbe.yml[3-10]
- .github/workflows/ci-lint.yml[3-11]
- .github/rulesets/release-require-passing.json[14-37]

### Suggested fix approaches
Choose one (in priority order):
1) **Remove `paths-ignore`** and keep workflows triggered for all PRs (safest wrt required checks).
2) If you must skip heavy work for ADR-only PRs, **keep the workflows triggering** and implement an internal “docs-only” detection that makes the *required-check-producing jobs* exit successfully with minimal work (do not rely on workflow-level path filters). This may require refactoring reusable-workflow jobs so the required contexts still complete with `success`.
3) Alternatively, **change the required checks policy/ruleset** so those contexts are not required for ADR-only changes (only if the org’s governance supports it).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Qodo Logo

Comment thread .github/workflows/ci.yml
@diemol
diemol merged commit 8de8692 into trunk Jun 19, 2026
28 checks passed
@diemol
diemol deleted the skip-ci-for-adr-prs branch June 19, 2026 15:51
This was referenced Jul 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

B-build Includes scripting, bazel and CI integrations

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants