Skip to content

ci: pin pandoc to 3.10 for reproducible reference builds - #2

Merged
84em merged 1 commit into
mainfrom
ci/pin-pandoc
Jul 10, 2026
Merged

ci: pin pandoc to 3.10 for reproducible reference builds#2
84em merged 1 commit into
mainfrom
ci/pin-pandoc

Conversation

@84em

@84em 84em commented Jul 10, 2026

Copy link
Copy Markdown
Member

Problem

The build-reference job emitted a drift warning on the post-merge main run. Root cause is toolchain drift, not a WCAG spec change: CI installed distro apt pandoc 3.1.3 (Ubuntu noble), while the committed reference was authored with pandoc 3.10. The two versions produce cosmetically different Markdown from identical HTML (symmetric 100 insertions / 100 deletions). validate.mjs still passed, confirming structure and counts are unchanged.

Fix

  • Install a sha256-verified pandoc 3.10 static binary in CI instead of floating apt.
  • Regeneration is now byte-reproducible, so the non-blocking drift check fires only on genuine upstream spec changes.
  • Document the required pandoc version in scripts/build-reference.sh and AGENTS.md.

Verified locally

validate.mjs OK (A=31 AA=24 AAA=31 total=86); regen with pandoc 3.10 leaves the reference byte-identical (empty diff); markdownlint clean. sha256 e0f8af62d0f267d22baa5bcefe6d5dda3a097ccc60de794b759fe03159923244 confirmed stable across two fetches.

Distro apt pandoc (3.1.3 on Ubuntu noble) converts the WCAG HTML to
cosmetically different Markdown than the 3.10 used to author the committed
reference, producing a false drift warning (100 insertions / 100 deletions,
validate still passing). Install a sha256-pinned pandoc 3.10 static binary in
CI so regeneration is byte-reproducible and the drift check fires only on real
spec changes. Document the required version in build-reference.sh and AGENTS.
@84em
84em merged commit 7ed38e5 into main Jul 10, 2026
2 checks passed
@84em
84em deleted the ci/pin-pandoc branch July 10, 2026 18:21
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