fix(ci): name the CI native checksum manifest exactly SHA256SUMS - #121
Merged
Conversation
#115 hardened `verify_checksums` to accept only a manifest named exactly `SHA256SUMS`, but the CI build lane still wrote `SHA256SUMS-${platform}-${architecture}`. All four native installer jobs on `main` then failed: error: SHA256SUMS must be inside the release asset directory The native installer matrix is skipped on pull requests and runs on `main` pushes, so the exact-head checks on #115 could not see it. Write and verify `dist/native/SHA256SUMS`. Each matrix job owns its own `dist/native` directory and uploads under a distinct artifact name, so the plain name is unambiguous and nothing consumed the per-platform name. The hardened check is unchanged. New `test_every_workflow_checksum_manifest_uses_the_exact_name` reads every workflow and refuses a `--output` or `--manifest` value that mentions SHA256SUMS without ending in it, so this cannot regress silently again. It fails against the previous build.yml. Tests: full suite 1028 passed. Ruff passed. 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.
What
Write and verify
dist/native/SHA256SUMSin the CI native installer jobs.Why
All four native installer jobs failed on
mainafter #115:#115 hardened
verify_checksumsto accept only a manifest named exactlySHA256SUMS:build.ymlstill passedSHA256SUMS-${{ matrix.platform }}-${{ matrix.architecture }}.The native installer matrix is skipped on pull requests and runs on
mainpushes (
Native installer (${{ matrix.label }})reportsskippingon everyPR), so the exact-head checks on #115 could not catch it.
How
Use the plain name. Each matrix job owns its own
dist/nativedirectory anduploads under a distinct artifact name (
native-${platform}-${architecture}),and nothing consumed the per-platform manifest name, so there is no collision.
The hardened check is unchanged — the workflow is corrected to match it.
New
test_every_workflow_checksum_manifest_uses_the_exact_namereads everyworkflow file and refuses a
--outputor--manifestvalue that mentionsSHA256SUMS without ending in it. It fails against the previous
build.yml, sothe contract cannot drift silently again.
Tests
ruff check engine/ tests/ scripts/: passed.main; the post-merge run isthe proof.
🤖 Generated with Claude Code