Skip to content

Migrate to shared claude-code-review.yml reusable workflow - #52

Merged
jnasbyupgrade merged 1 commit into
Postgres-Extensions:masterfrom
jnasbyupgrade:claude-review-caller-terse
Sep 17, 2026
Merged

jnasbyupgrade merged 1 commit into
Postgres-Extensions:masterfrom
jnasbyupgrade:claude-review-caller-terse

Conversation

@jnasbyupgrade

Copy link
Copy Markdown
Contributor

Replaces the hand-maintained review workflow with a thin caller into Postgres-Extensions/ai's reusable workflow_call version per ai/CI-WORKFLOWS.md, so a fix there reaches this repo without a manual copy. Pinned to @main, matching every other consumer.

This can't be validated end-to-end pre-merge: a pull_request_target workflow change only takes effect after merging, and even then only a subsequent PR exercises it.

Verified:

  • YAML parses
  • Postgres-Extensions/ai/.github/workflows/claude-code-review.yml@main resolves
  • repo's default workflow permissions / secret setup match what secrets: inherit needs
  • clean git merge-tree against upstream/master

🤖 Generated with Claude Code

Replaces the hand-maintained review workflow with a thin caller into
Postgres-Extensions/ai's reusable workflow_call version, per
ai/CI-WORKFLOWS.md, so a fix there reaches this repo without a manual copy.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 17, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: ecdf4304-a36d-4411-b418-18fcba460fd6

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

@github-actions

github-actions Bot commented Sep 17, 2026

Copy link
Copy Markdown

Claude finished @jnasbyupgrade's task in 8m 55s —— View job


Todo

  • Gather context (PR diff, CLAUDE.md, current workflow file)
  • Understand request: /code-review:code-review — review-only, no implementation
  • Review .github/workflows/claude-code-review.yml changes
  • Verify findings against the diff (external ai repo content not accessible from this checkout, so some findings are necessarily "plausible, unverifiable here" rather than confirmed)
  • Post review

Review: migrate claude-code-review.yml to shared reusable workflow

This PR replaces the hand-maintained job with uses: Postgres-Extensions/ai/.github/workflows/claude-code-review.yml@main. The intent (centralize the review workflow per ai/CI-WORKFLOWS.md) is reasonable, but several protections that were explicit and auditable in this repo are now delegated to an external, unpinned ref, and none of them can be verified from this repository alone. Flagging as risks to check before merge, not confirmed breakages.

  1. Security gate delegated, not verified (line 19, with: trusted_authors:)
    The deleted if: condition was marked SECURITY-CRITICAL — the only thing gating this write-capable (pull-requests: write, actions: write), secret-bearing pull_request_target job to jnasbyupgrade's own PRs. That's now expressed as trusted_authors: jnasbyupgrade passed into an external, @main-pinned (mutable) workflow. The sibling .github/workflows/claude.yml still enforces this class of check inline — worth confirming the shared workflow's trusted_authors handling is at least as strict, and that it covers the newly added labeled trigger type too.

  2. secrets: inherit widens the blast radius (line 25)
    The old job forwarded exactly two named secrets (CLAUDE_CODE_OAUTH_TOKEN, GITHUB_TOKEN) to the one step that used them. secrets: inherit now exposes every secret configured on this repo/org to whatever the external workflow (and anything it calls) does. If there's any other secret configured here (publishing tokens, etc.), it's now reachable by code this repo doesn't control the version of.

  3. labeled trigger has no label filter (line 11)
    on: pull_request_target: types: [..., labeled] fires on any label being applied — GitHub Actions can't filter by label name at the on: level. The concurrency-group expression (line 14) suggests the intent was to let only a claude-debug label re-trigger review; unless the called workflow itself checks github.event.label.name, routine triage labels on jnasbyupgrade's own PRs will now re-run the whole (paid) pipeline.

  4. Unpinned @main ref for a security-relevant workflow (line 19)
    Unlike anthropics/claude-code-action@v1 (a pinned major-version tag, with a comment explaining that choice), the new uses: targets @main — a mutable ref. A future push to Postgres-Extensions/ai changes this repo's review behavior immediately, with no PR-level review in this repo to catch a regression before it takes effect. This is the stated, accepted tradeoff per the PR description ("Pinned to @main, matching every other consumer") but worth being explicit about the risk it trades away.

  5. Draft-PR skip has no visible replacement (previously github.event.pull_request.draft == false)
    Nothing in the with: block re-implements this. If the shared workflow doesn't independently skip drafts, opening/updating a draft PR now triggers the full paid review that this repo previously deliberately skipped.

  6. Check-run name will change
    Converting to a uses:-based reusable-workflow call changes the reported check-run name (typically to a compound <job> / <inner-job> form). If branch protection has a required status check literally named claude-review, that check may stop reporting after merge and could block future merges — worth confirming in repo settings, since that's not visible from the diff.

None of 1–6 are confirmable from this repository in isolation (the target file lives in Postgres-Extensions/ai, not this checkout) — they're the specific things worth double-checking against ai/CI-WORKFLOWS.md and the actual claude-code-review.yml@main content before/after merging, given the PR description already acknowledges this can't be validated end-to-end pre-merge.

No implementation changes made (review only, as requested).

@jnasbyupgrade
jnasbyupgrade merged commit 1bf3d7f into Postgres-Extensions:master Sep 17, 2026
21 checks passed
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