Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .github/workflows/pr-codex-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,22 @@ name: PR Codex Review
on:
pull_request:
types: [opened, synchronize]
# Skip the entire Codex track on bootstrap-paths. The classifier flags
# these as risk:blocked and exits 1, which would surface as a failing
# `PR Codex Review / classify` check + a cascading-skipped review job.
# Both are noise — bootstrap-path PRs always require admin merge by
# design, so a secondary review adds no signal.
#
# SAFETY: Codex review is NOT in the required-checks ruleset on
# ci-workflows main (verified: only `review / Claude Review` is
# required), so paths-ignore here does NOT create a deadlock. If you
# add this check to a ruleset later, drop these excludes.
paths-ignore:
- ".github/workflows/**"
- ".github/dependabot.yml"
- ".github/risk-paths.yml"
- ".github/CODEOWNERS"
- "Dockerfile"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Bug: glob mismatch with risk-paths.yml

risk-paths.yml lists blocked: Dockerfile* (glob), so Dockerfile.dev, Dockerfile.prod, etc. all exit the classifier with risk:blocked. This entry only matches the bare Dockerfile, so a PR touching only Dockerfile.prod would still trigger the noisy failing classify check that this PR is trying to suppress.

Suggested change
- "Dockerfile"
- "Dockerfile*"

Comment on lines +21 to +26

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Bug: paths-ignore list is incomplete relative to risk-paths.yml blocked: section

The following paths are all blocked in .github/risk-paths.yml (causing classifier to exit 1) but are absent from this paths-ignore list. A PR that only touches these paths will still trigger the noisy failing classify check:

  • docker-compose*.yml / docker-compose*.yaml
  • infra/**
  • terraform/**
  • k8s/**
  • **/.env*
  • **/secrets*

The stated goal of this PR is to suppress that noise on all bootstrap paths — but these gaps mean it only partially achieves that. Suggest keeping the two lists in sync, e.g.:

Suggested change
paths-ignore:
- ".github/workflows/**"
- ".github/dependabot.yml"
- ".github/risk-paths.yml"
- ".github/CODEOWNERS"
- "Dockerfile"
paths-ignore:
- ".github/workflows/**"
- ".github/dependabot.yml"
- ".github/risk-paths.yml"
- ".github/CODEOWNERS"
- "Dockerfile*"
- "docker-compose*.yml"
- "docker-compose*.yaml"
- "infra/**"
- "terraform/**"
- "k8s/**"


permissions:
contents: read
Expand Down
Loading