Skip to content

ci(repo): fix dependabot ignore syntax for openai/codex-action - #6542

Merged
Coly010 merged 1 commit into
developfrom
ci/ai-review-dependabot-versions-fix
Sep 9, 2026
Merged

ci(repo): fix dependabot ignore syntax for openai/codex-action#6542
Coly010 merged 1 commit into
developfrom
ci/ai-review-dependabot-versions-fix

Conversation

@Coly010

@Coly010 Coly010 commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

What kind of change does this PR introduce?

CI reliability fix (follow-up to #6538).

What is the current behavior?

#6538 re-pinned openai/codex-action to v1.11 and added a Dependabot ignore entry scoped to versions: ["1.12.x"], intending to still let Dependabot propose v1.13+ once the upstream hang bugs (openai/codex-action#151, #160) are fixed, while blocking the known-bad v1.12 line specifically.

That scoping never actually worked. 9 minutes after #6538 merged, Dependabot opened #6541 proposing the exact v1.12 bump we were trying to block — config propagation wasn't the issue; the versions syntax was. The github-actions ecosystem's ignore.versions strings are parsed as Ruby Gem::Requirement (RubyGems comparator syntax: >= x, ~> x, etc.), not npm-style semver ranges. "1.12.x" isn't a wildcard in that grammar — it parses as a literal version string with an implicit = operator, which never equals the real dependency version ("1.12"), so the ignore condition silently never matched anything.

Verified directly against the actual parsing logic dependabot-core uses (Dependabot::GithubActions::Requirement, a thin wrapper around Gem::Requirement):

GithubActionsRequirement.new("1.12.x").satisfied_by?(Gem::Version.new("1.12"))   # => false (bug)
GithubActionsRequirement.new(">= 1.12, < 1.13").satisfied_by?(Gem::Version.new("1.12"))    # => true
GithubActionsRequirement.new(">= 1.12, < 1.13").satisfied_by?(Gem::Version.new("1.12.5"))  # => true
GithubActionsRequirement.new(">= 1.12, < 1.13").satisfied_by?(Gem::Version.new("1.11"))    # => false
GithubActionsRequirement.new(">= 1.12, < 1.13").satisfied_by?(Gem::Version.new("1.13"))    # => false

What is the new behavior?

Replace versions: ["1.12.x"] with versions: [">= 1.12, < 1.13"] — a real Gem::Requirement comparator range, confirmed to correctly match the 1.12 line (including any 1.12.x patch) while excluding v1.11 and v1.13+. #6541 should be closed as superseded once this merges.

#6538's `versions: ["1.12.x"]` never actually blocked anything: this
ecosystem's ignore versions are parsed as Ruby Gem::Requirement (RubyGems
comparator syntax), not npm-style semver ranges, so "1.12.x" parsed as a
literal (never-matching) version string. Confirmed live 9 minutes after
#6538 merged: Dependabot opened #6541 proposing the exact v1.12 bump we
were trying to block. Use a real comparator range instead, verified
against the actual Gem::Requirement parsing logic.
@Coly010
Coly010 requested a review from a team as a code owner September 9, 2026 10:02
@Coly010 Coly010 self-assigned this Sep 9, 2026

@github-actions github-actions 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.

🤖 AI Review

The Dependabot comparator change is functionally correct. Both reviews completed; Codex reported no findings. Claude’s two documentation/maintainability nits are confirmed: the provenance comment ambiguously cites the bump rather than the failed ignore change, and the whole-line exclusion can hide a corrective 1.12 patch.

Findings

Severity Location Category Sources Claim
⚪ NIT .github/dependabot.yml:25 documentation claude The provenance comment associates the failed prior ignore attempt with PR #6541, although #6538 introduced the ineffective 1.12.x rule and #6541 was the subsequent Dependabot bump demonstrating that failure.
⚪ NIT .github/dependabot.yml:28 maintainability claude Ignoring the complete 1.12 release line also suppresses notification of any future 1.12 patch containing the upstream fixes, while the adjacent guidance only discusses evaluating v1.13 or later.

Stats

Claude findings: 2 · Codex findings: 0 · Confirmed: 2 · Refuted: 0 · Uncertain: 0


Models: claude-opus-5 + gpt-5.6-sol · Trigger: auto · Workflow run

This review runs once per PR. A maintainer can request another with a /ai-review comment.

Comment thread .github/dependabot.yml
Comment thread .github/dependabot.yml
@Coly010
Coly010 added this pull request to the merge queue Sep 9, 2026
Merged via the queue into develop with commit 4338af9 Sep 9, 2026
35 checks passed
@Coly010
Coly010 deleted the ci/ai-review-dependabot-versions-fix branch September 9, 2026 12:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants