Skip to content

Rework publish pipeline as a build matrix - #562

Open
alexolivier wants to merge 1 commit into
openid:mainfrom
alexolivier:rework-publish-pipeline
Open

Rework publish pipeline as a build matrix#562
alexolivier wants to merge 1 commit into
openid:mainfrom
alexolivier:rework-publish-pipeline

Conversation

@alexolivier

Copy link
Copy Markdown
Collaborator

Problem / Intent

The publish workflow repeats the same convert → render → upload block once per document (8 copies and growing), and the publish job downloads each artifact with its own step. Adding a document means copy-pasting ~25 lines across two jobs, and it's easy to miss one — the COAZ-MCP binding was built but not deployed until #560 added the missing download step.

Approach

Turn the document list into data: build-rfc is now a matrix where each document is a 3-line entry (artifact name, source markdown, output HTML name), sharing a single render/upload step sequence. The main spec's index.html copy is a matrix field rather than a dedicated step. Each leg uploads an rfc-* artifact whose layout mirrors the published paths, so the publish job collects everything with one pattern download — a new document can never be built-but-not-published again. The archived 0_0 submission is copied straight from the checkout instead of round-tripping through an artifact.

Published output is unchanged: same HTML filenames at the site root, same XML paths, index.html still the working draft (verified the artifact layout against the live site's published paths, plus an end-to-end render of the main spec with the same tool versions).

Documents now build in parallel with fail-fast: false, so one broken document doesn't mask errors in the others. Note the check names change from build-rfc to build-rfc (<doc>) — if branch protection pins the old name, it will need updating.

Signed-off-by: Alex Olivier <alex@alexolivier.me>
@alexolivier
alexolivier marked this pull request as ready for review July 23, 2026 17:17
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