fix(ci): dist gate + test job failures — miniyaml silent truncation & block-coverage gaps #47
No reviewers
Labels
No labels
priority
P1
priority
P2
priority
P3
priority
P4
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Toilville/toilville-design!47
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/ci-gates-miniyaml-forgeblock"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Fixes the two red CI gates that every design PR has hit since mid-July (and that PR #44 was merged over):
1.
dist/ matches dtcg + udg sources— failing on every PR since #35.forgeblock.ymlcarried three multi-line quoteddesc:scalars — outside_miniyaml's documented subset. Dev machines have PyYAML so the strict stdlib path never ran locally; CI'spython:3.12-slimhas no PyYAML, so_miniyamlran — and silently returned a partial document truncated at the first multi-line scalar (record 35 of 795).artifact.pythen saw an empty block vocabulary and failed with a wall ofunknown blockerrors. (The stray 'green' runs #124-127 were PR branches forked before #35 — they ran their own older workflow without the artifact gate.)_miniyaml.load()now raises when it can't consume the whole document; silent truncation is gone for good.generator/tests/unit/test_miniyaml_strict.pypins strict-raise behaviour, complete parse of every miniyaml-consumed manifest, and miniyaml == PyYAML equivalence (local/CI reproducibility).2.
test— failing on every PR since #41.PR #41 registered
appleContactCard+appleCalendarSlotsin the vocabulary without extending the WP/email renderers;test_block_coverage(which CI runs via root pytest, unlike the CLAUDE.md-documentedpytest generator/tests/) failed on the 30→32 count and the 'no mapping' fallbacks. Added both blocks to_PROGRAMMATICin all three renderers + fixtures; count guard now 32.Verified: 233/233 root pytest (the CI invocation); all nine
just checkgates green both locally (PyYAML) and under python3.12 without PyYAML (the CI condition).Notes for follow-up:
sync-manifest.ymlalso uses an out-of-subset construct (block sequences of mappings) but is line-scanned by its consumers — left as-is.dist/ matches dtcg + udg sources+testcontexts once this lands.