diff --git a/.github/dependabot.yml b/.github/dependabot.yml index ec7ceae..041d625 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -13,3 +13,8 @@ updates: interval: weekly commit-message: prefix: "chore(ci)" + # Batch CI Action bumps into one weekly PR instead of one per action — they're + # low-risk and easier to review and merge together. + groups: + github-actions: + patterns: ["*"] diff --git a/.github/workflows/claude-pr-review.yml b/.github/workflows/claude-pr-review.yml index ad1dcc5..5296c4c 100644 --- a/.github/workflows/claude-pr-review.yml +++ b/.github/workflows/claude-pr-review.yml @@ -22,9 +22,15 @@ permissions: jobs: review: - # Same-repo PRs only. On a fork PR head.repo.full_name differs from the repo, - # the secret is absent, and this job would always fail — so skip it there. - if: github.event.pull_request.head.repo.full_name == github.repository + # Same-repo, human-authored PRs only. On a fork PR head.repo.full_name differs + # from the repo; on a Dependabot PR the run gets a restricted token with no + # access to repo secrets. In both cases CLAUDE_CODE_OAUTH_TOKEN is absent and + # this job could only fail — so skip it (a clean skip, not a red X). Both are + # instead reviewed on demand: comment "@claude" (claude.yml runs in the base-repo + # context where the secret IS available). + if: >- + github.event.pull_request.head.repo.full_name == github.repository && + github.actor != 'dependabot[bot]' runs-on: ubuntu-latest steps: - uses: actions/checkout@v6