Skip to content

fix(dependabot): use correct ecosystem value github_actions (underscore)#138

Merged
don-petry merged 4 commits intomainfrom
fix/dependabot-ecosystem-underscore
Apr 16, 2026
Merged

fix(dependabot): use correct ecosystem value github_actions (underscore)#138
don-petry merged 4 commits intomainfrom
fix/dependabot-ecosystem-underscore

Conversation

@don-petry
Copy link
Copy Markdown
Contributor

@don-petry don-petry commented Apr 16, 2026

Summary

Root cause

The fetch-metadata action outputs package-ecosystem as github_actions (underscore), matching the dependabot.yml key name. Our condition compared against github-actions (hyphen, the YAML display name), so it never matched and major Action bumps fell through to the eligible=false branch.

Confirmed from live run logs on PR #129 (download-artifact v4→v8):

ECOSYSTEM="github_actions"
Skipping: major update for github_actions requires human review

Test plan

  • Verify a major GitHub Actions PR now gets eligible=true in the automerge workflow
  • Verify non-Actions major updates are still skipped

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Bug Fixes

    • Corrected GitHub Actions ecosystem detection in auto-merge workflow for accurate Dependabot PR handling.
  • New Features

    • Added automated rebase workflow for Dependabot pull requests triggered on main branch updates.
  • Documentation

    • Updated Dependabot adoption guidelines to clarify when rebase automation is recommended based on branch protection settings.

fetch-metadata outputs package-ecosystem as "github_actions" with an
underscore, not "github-actions" with a hyphen. The condition was never
matching, so major GitHub Actions updates were still being skipped.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 16, 2026 02:04
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 16, 2026

Warning

Rate limit exceeded

@don-petry has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 56 minutes and 27 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 56 minutes and 27 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: a398865e-57d2-4568-8370-ec8bc4040a63

📥 Commits

Reviewing files that changed from the base of the PR and between 85e2580 and 04de696.

📒 Files selected for processing (3)
  • .github/workflows/dependabot-rebase.yml
  • standards/dependabot-policy.md
  • standards/workflows/dependabot-rebase.yml
📝 Walkthrough

Walkthrough

Updated Dependabot auto-merge workflows to use the correct ecosystem identifier (github_actions instead of github-actions), added a new Dependabot rebase workflow as a reusable workflow wrapper, and expanded documentation criteria for when to include the rebase workflow to cover repositories requiring CODEOWNERS review.

Changes

Cohort / File(s) Summary
Dependabot Ecosystem String Updates
.github/workflows/dependabot-automerge-reusable.yml, .github/workflows/dependabot-automerge.yml
Changed ecosystem value comparison from github-actions to github_actions in auto-merge eligibility conditions, affecting which Dependabot PRs are treated as GitHub Actions for version bump approval.
New Dependabot Rebase Workflow
.github/workflows/dependabot-rebase.yml
Added new workflow triggered on pushes to main with fixed concurrency group and minimal permissions. Single job invokes the reusable workflow petry-projects/.github/.github/workflows/dependabot-rebase-reusable.yml@v1 with inherited secrets.
Dependabot Policy Documentation
standards/dependabot-policy.md
Expanded inclusion criteria for dependabot-rebase.yml to cover repositories with either strict required-status-checks or CODEOWNERS review requirements, documenting that rebase workflow's direct merge API call can satisfy CODEOWNERS without human review.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title accurately describes the main change: fixing the GitHub Actions ecosystem value from 'github-actions' (hyphen) to 'github_actions' (underscore) in Dependabot workflows, which directly resolves the bug introduced in PR #137.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ 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 fix/dependabot-ecosystem-underscore

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Fixes the Dependabot auto-merge eligibility check for GitHub Actions by matching the actual dependabot/fetch-metadata output value (github_actions with underscore), so major GitHub Actions updates are no longer incorrectly treated as ineligible.

Changes:

  • Update the ecosystem string comparison from github-actionsgithub_actions in the repo workflow.
  • Apply the same fix in the reusable automerge workflow to keep logic consistent.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
.github/workflows/dependabot-automerge.yml Fixes the GitHub Actions ecosystem comparison so the eligibility gate correctly bypasses major-version blocking for Actions PRs.
.github/workflows/dependabot-automerge-reusable.yml Mirrors the same corrected ecosystem comparison in the reusable workflow implementation.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

DJ and others added 2 commits April 15, 2026 19:47
…DEOWNERS

GitHub's auto-merge mechanism does not apply ruleset bypass actors at
merge time, so gh pr merge --auto cannot bypass the CODEOWNERS review
requirement even when the App has bypass_mode:always. The rebase
workflow's direct gh api .../merge call uses the App token directly and
does apply the bypass, allowing Dependabot PRs to merge without a human
CODEOWNERS review.

Also updates dependabot-policy.md to document this nuance — the rebase
workflow is now required for repos with CODEOWNERS review requirements,
not only for repos with strict required-status-checks.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Address SonarCloud hotspots S7637 and S7635:
- S7637: pin reusable workflow to full commit SHA instead of @v1 tag
- S7635: pass APP_ID and APP_PRIVATE_KEY explicitly instead of secrets: inherit

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@standards/dependabot-policy.md`:
- Around line 207-217: The "Each repository must have" table still lists
dependabot-rebase.yml as universally required, which conflicts with the
conditional wording added for dependabot-rebase.yml; update the table's row
referencing dependabot-rebase.yml in the "Each repository must have" block so it
states the workflow is conditional (required only when
strict_required_status_checks_policy or require_code_owner_review apply) or
remove it from the universal list and add a note linking to the conditional
rules; ensure references to dependabot-rebase.yml and the table header "Each
repository must have" are changed accordingly to match the new conditional
policy and align with the workflows defined in standards/ci-standards.md.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: cec16f82-d00f-4d78-9e0b-b0fe81ba0c9f

📥 Commits

Reviewing files that changed from the base of the PR and between 7a155df and 85e2580.

📒 Files selected for processing (4)
  • .github/workflows/dependabot-automerge-reusable.yml
  • .github/workflows/dependabot-automerge.yml
  • .github/workflows/dependabot-rebase.yml
  • standards/dependabot-policy.md

Comment thread standards/dependabot-policy.md
…orkflow

The "Each repository must have" table listed dependabot-rebase.yml as
universally required, contradicting the conditional wording added in the
Applying to a Repository section. Split the table into baseline (always
required) and conditional (when strict checks or CODEOWNERS review
applies) to eliminate the inconsistency.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@sonarqubecloud
Copy link
Copy Markdown

@don-petry don-petry enabled auto-merge (squash) April 16, 2026 11:45
@don-petry don-petry merged commit f0bd05f into main Apr 16, 2026
19 checks passed
@don-petry don-petry deleted the fix/dependabot-ecosystem-underscore branch April 16, 2026 11:45
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