Skip to content

ci: port the latest Claude actions from documentation - #6

Merged
Troublor merged 1 commit into
mainfrom
ci/port-latest-claude-actions
Jul 31, 2026
Merged

ci: port the latest Claude actions from documentation#6
Troublor merged 1 commit into
mainfrom
ci/port-latest-claude-actions

Conversation

@Troublor

Copy link
Copy Markdown
Collaborator

The bug

The 2026-07-30 migration (#5) said the actions were copied verbatim from
megaeth-labs/documentation. They were — but from that repo's 2026-07-20
state, not its main. The copied claude-pr-review/action.yml is byte-identical
to documentation 0de71e1 (2026-07-20), ten days and ~10 commits behind
dc68b9c (2026-07-28).

The other three actions were unaffected — claude-interactive,
claude-issue-triage, and claude-label-check are byte-identical either way.
claude-pr-review was not.

Live symptom. mega-agents and mega-e2e were repointed here on 2026-07-30 and
both pass github_identity_token, an input the stale copy never declared. Actions
drops undeclared inputs with a warning, so the review falls back to the job token:
no unified identity, and no review-thread resolution. From mega-agents run
30596025629,
today:

##[warning]Unexpected input(s) 'github_identity_token', valid inputs are
['claude_code_oauth_token', 'allowed_bots', 'extra_allowed_tools',
 'extra_prompt', 'model', 'review_depth', 'premortem']

What this does

Syncs claude-pr-review to documentation main (dc68b9c). Beyond
github_identity_token, the stale copy was missing the entire staged review
pipeline the current action shells out to — review_pipeline.py,
review-output.schema.json, and test_review_pipeline.py were never carried
over — plus incremental_model, the 🔄 Review in progress sticky comment, and
the semantic-stage turn budgets.

The action loads everything through $GITHUB_ACTION_PATH, so it relocates
unchanged; no consumer edits are needed. mega-agents and mega-e2e start honouring
their identity token the moment this merges.

Also adds .github/workflows/actions-test.yml. These actions ship to every repo
in the org at @main, so a merge here reaches all consumers with no consumer-side
review — documentation gated that with the pipeline unit tests on every PR, and
this repo had no CI at all. 77 tests, passing locally.

One intentional divergence from upstream

test_workflow_loads_actions_from_trusted_main asserts the repo's own
claude.yml consumes the actions via owner/repo@main rather than the local
./.github/actions path — the guard that stops a PR from modifying the action
that reviews it. That invariant belongs to a consumer repo; this repo is the
actions' home and has no claude.yml, so the test now skips when the file is
absent (and expects megaeth-labs/.github/... when one is added). It's the single
skip in the run.

Notes

  • The README.md here is documentation's current version, with the Home note
    and the pr-lint section preserved and all megaeth-labs/documentation/...
    references repointed. Two upstream sentences describing documentation's own
    dogfooding were rewritten for this repo.
  • Unrelated, spotted while checking: the migration commit message and README both
    describe a .github/workflows/pr-lint.yml reusable workflow, but only
    .github/actions/pr-lint/action.yml exists on main. The README's usage
    example is for the composite action and is correct; the workflow appears to have
    been dropped. Not touched here.
  • documentation still carries its own copies, so it is now the fork that's ahead.
    Deleting them (and repointing documentation's claude.yml) is the natural
    follow-up once all consumers are migrated.

The 2026-07-30 migration copied the composite actions from
megaeth-labs/documentation, but the copy was taken from that repo's
2026-07-20 state (0de71e1) rather than its main — ten days and ~10 commits
stale. claude-interactive, claude-issue-triage, and claude-label-check were
unaffected (byte-identical either way); claude-pr-review was not.

The visible symptom: consumers that adopted the new location pass
`github_identity_token`, an input the stale copy never declared, so Actions
drops it with `##[warning]Unexpected input(s) 'github_identity_token'` and the
review silently falls back to the job token — no unified identity and no
review-thread resolution. mega-agents run 30596025629 shows the warning.

Sync claude-pr-review to documentation@main (dc68b9c). That brings the staged
review pipeline the action now depends on — review_pipeline.py,
review-output.schema.json, and its tests, none of which the migration carried
over — plus `github_identity_token`, `incremental_model`, the sticky status
comment, and the turn budgets.

Also add .github/workflows/actions-test.yml. These actions ship to every repo
in the org at @main, so a merge here reaches all consumers with no
consumer-side review; documentation ran the pipeline unit tests on every PR
and this repo had no CI at all.

The one intentional divergence from upstream is
test_workflow_loads_actions_from_trusted_main. It asserts that the repo's own
claude.yml consumes the actions by owner/repo@main rather than the local
./.github/actions path, so a PR cannot modify the action that reviews it. This
repo is the actions' home and has no consumer claude.yml, so the test skips
until one exists.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@Troublor
Troublor merged commit f521b4b into main Jul 31, 2026
1 check passed
@Troublor
Troublor deleted the ci/port-latest-claude-actions branch July 31, 2026 10:14
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