Skip to content

ci: add a Claude review for pull requests - #51

Merged
blurbery merged 2 commits into
mainfrom
ci/claude-code-review
Oct 10, 2026
Merged

blurbery merged 2 commits into
mainfrom
ci/claude-code-review

Conversation

@blurbery

@blurbery blurbery commented Oct 10, 2026 •

Copy link
Copy Markdown
Owner

What this changes

Adds a Claude review for pull requests (.github/workflows/claude-code-review.yml). Each PR gets one review from a single Claude Sonnet pass, which posts inline comments on real problems and a short summary comment. It reads CONTRIBUTING.md for the rules.

  • Runs when a PR is opened, updated, reopened or marked ready for review, but skips once its summary comment (marked <!-- claude-review -->) exists, so each PR gets one review, including PRs that start Markdown-only and gain code later.
  • Skips drafts, bot PRs, fork PRs (GitHub withholds secrets from them) and Markdown-only changes.
  • Uses a CLAUDE_CODE_OAUTH_TOKEN secret so it runs on my Claude subscription rather than paid API credits. It falls back to ANTHROPIC_API_KEY only when no token is set, and does nothing at all until one of them exists.
  • Read-only access to the code, write access only to PR comments, a 15-minute timeout and at most 25 turns per review. Actions are pinned to commit SHAs like the other workflows.

How I tested it

No Python changes, so the unit tests aren't affected. The workflow passes actionlint. With the token secret added, the review ran on this PR and posted its summary comment. On the matching Vivid PR (blurbery/vivid#121), a re-run skipped the review because the summary already existed.

Release notes

BEGIN_COMMIT_OVERRIDE
END_COMMIT_OVERRIDE

AI disclosure (required)

  • No AI tools were used for any part of this change.
  • AI tools were used for this change, as described below.

AI tools used and what they did:

I designed and directed this change (a single cheap Sonnet pass instead of the multi-agent review, running on my subscription and skipping PRs that don't need it) and used Claude Opus to help write the workflow and this description.

Checklist

  • I've read CONTRIBUTING.md.
  • The title follows Conventional Commits, like fix: keep posters on Jellyfin 12.
  • I understand every line of this change and can explain it.
  • New source files have the CineSets header, and the unit tests pass.
  • Nothing private is included (server addresses, API keys, user names, logs).

Reviews each pull request once with a single Claude Sonnet pass and posts inline comments and a short summary. Uses a Claude subscription token when one is set, skips drafts, bots, fork PRs and Markdown-only changes, and does nothing until a token is added.
@blurbery blurbery closed this Oct 10, 2026
@blurbery blurbery reopened this Oct 10, 2026
@github-actions

Copy link
Copy Markdown
Contributor

No problems found. Permissions, tool allowlist, SHA pinning and the credential fallback all look right.

Also runs on pushes, but skips once the marked summary comment exists, so each pull request still gets one review.
@github-actions

Copy link
Copy Markdown
Contributor

Nothing needs fixing. The workflow matches the other workflows' conventions (SHA-pinned actions, header, least-privilege permissions), and no private details are included.

@blurbery
blurbery merged commit dc006d6 into main Oct 10, 2026
18 checks passed
@blurbery
blurbery deleted the ci/claude-code-review branch October 10, 2026 06:34
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.

1 participant