Write a real README for the shared workflows - #4
Merged
Merged
Conversation
The previous one was GitHub's two-line default, for a repo three sites depend on and which also shows on the org profile. Workflows first, since that is what the repo contains and why anyone arrives here: a table of the three, then a copy-pasteable caller for each with its real inputs and secrets. Both examples were diffed against the actual callers rather than written from memory. A section for the two mistakes that each cost an afternoon, because neither is discoverable from the error: - `permissions` must sit on the calling job, not the top level of the caller's file, or the token falls back to the repo default and the pull request lookup 403s. Passing GITHUB_TOKEN down as a secret does not help and is rejected outright. - a called workflow cannot discover its own version, so `shared-ref` has to be passed; omit it and a caller pinned to @v1 runs whatever script is newest. Also the two "do not" rules that are easy to get backwards: no `paths:` filter on mdx-check, because a required check that never runs blocks a pull request with nothing to click; and prose-check must not be required, because it is built to pass even when it finds something. Says plainly that `v1` is mutable — a release boundary, not an immutability guarantee — and what to do instead if that matters. The project index covers md2do and post-inbox only. The other repos are not ready to feature. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The previous README was GitHub's two-line default, for a repo three sites depend on — and which also renders on the org profile page.
Structure
Workflows first, since that is what the repo contains and why anyone arrives here: a table of the three, then a copy-pasteable caller for each with its real inputs and secrets. Both examples were diffed against the actual callers rather than written from memory, so they match character for character.
Then a section for the two mistakes that each cost an afternoon, because neither is discoverable from the error message:
permissionsmust sit on the calling job, not the top level of the caller's file, or the token falls back to the repo default and the pull request lookup 403s — the email then links the pull request list instead of the pull request. Includes the tell: read theGITHUB_TOKEN Permissionsgroup in the run log. Also records that passingGITHUB_TOKENdown as a secret does not help and is rejected outright.github.job_workflow_shadoes not exist;workflow_shaandworkflow_refboth describe the caller. Henceshared-ref.Plus the two "do not" rules that are easy to get backwards, both learned the hard way:
paths:filter onmdx-check, because a required check that never runs blocks a pull request with nothing to clickprose-checkmust not be required, because it is built to pass even when it finds somethingVersioning
Says plainly that
v1is mutable — a release boundary, not an immutability guarantee — and that SHA-pinning is the answer if that matters.Projects
md2do and post-inbox only, per your call that the others are not ready to feature.
Verified: all four relative links and the one anchor resolve; both caller examples match production.
🤖 Generated with Claude Code