Skip to content

chore(main): release 0.0.10 #123

chore(main): release 0.0.10

chore(main): release 0.0.10 #123

name: Claude Code Review
on:
pull_request:
types: [opened, synchronize, ready_for_review, reopened]
permissions:
contents: read
jobs:
claude-review:
name: Auto code-review
# Skip auto-generated PRs:
# * Renovate / Dependabot — already gated by CI + manual review.
# * release-please — PR author is the user (PAT-driven), but the
# head branch is always `release-please--…`, which is the
# reliable signal.
if: |
github.event.pull_request.user.login != 'renovate[bot]' &&
github.event.pull_request.user.login != 'dependabot[bot]' &&
!startsWith(github.head_ref, 'release-please--')
runs-on: ubuntu-24.04
timeout-minutes: 30
permissions:
contents: read
# write needed so the action can post review comments and update the
# progress-tracking comment that track_progress creates.
pull-requests: write
issues: read
id-token: write
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 1
- name: Run Claude Code Review
id: claude-review
uses: anthropics/claude-code-action@5ef2e550a465a721f4f45e4a7d3c340c873e1dcc # v1.0.190
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
# Flips mode from `agent` to `tag`, which auto-loads the
# github.qkg1.topment MCP server and creates a tracking comment with
# progress checkboxes so a failure still leaves a visible trail.
track_progress: true
prompt: |
REPO: ${{ github.repository }}
PR NUMBER: ${{ github.event.pull_request.number }}
This is a Home Assistant custom integration. Code lives in
`custom_components/cpu_capacity/`.
Review this PR. Prioritize, in order:
1. Bugs — logic errors, race conditions, off-by-ones,
broken edge cases. If you find one, leave an inline
comment at the specific line.
2. HA integration correctness.
3. Security.
Hard rules:
- Do NOT comment on style, naming, formatting, or "consider
adding a docstring" — the repo runs ruff + prettier + shfmt
in pre-commit and intentionally avoids redundant comments.
- Do NOT leave general praise or summary fluff.
- If you have nothing substantive to flag, post a single
short top-level comment saying "No issues found." That's
the success signal — silence isn't.
- When you do flag something, the comment body MUST include
the file path, the concrete failure mode, and the fix.
# mcp__github_inline_comment__create_inline_comment is the
# action's built-in inline-comment tool (loads only when named
# here). Bash gh allowlist is the fallback path the official
# pr-review-comprehensive.yml example uses for top-level
# comments and diff-fetching.
claude_args: |
--allowedTools "mcp__github_inline_comment__create_inline_comment,Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*)"
# The action's SDK call writes a JSONL transcript (per-turn tool_use,
# tool_result, permission events) to runner.temp/claude-execution-output.json.
# The action redacts those events from the public CI log "for security";
# uploading the raw record as an artifact keeps it visible only to
# collaborators — needed for diagnosing permission denials and turn-count
# blowups. `if: always()` so we capture failures too.
- name: Upload Claude execution log
if: always()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name:
claude-execution-output-pr${{ github.event.pull_request.number }}
path: ${{ runner.temp }}/claude-execution-output.json
if-no-files-found: ignore
retention-days: 14