fix(release): align release workflow with legacy-asset drop policy - #382
Merged
Conversation
validate-release-contract.mjs expected only the 4 canonical
local-llm-foundry-* assets starting at 2.1.0 (via a startsWith('2.1.')
check), but release.yml still unconditionally built, checksummed, and
uploaded all 8 canonical+legacy assets for every release. The first
2.1.x tag tripped the mismatch and failed the Release workflow.
Replaces the startsWith check with a real semver >= 2.1.0 comparison
(so 2.2.0+ doesn't silently revert to requiring legacy assets), and
makes release.yml compute the same expected asset list so the
checksum step and both gh-release upload steps stay in sync with the
validator.
Co-Authored-By: Claude Sonnet 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.
Summary
scripts/validate-release-contract.mjsexpected only the 4 canonicallocal-llm-foundry-*assets starting at2.1.0(startsWith('2.1.')), but.github/workflows/release.ymlstill unconditionally built/checksummed/uploaded all 8 canonical+legacyllama-monitor-*assets for every release. Thev2.1.0release tag tripped the mismatch and the Release workflow failed at the checksum-contract step (run 33787791006).startsWith('2.1.')check with a real semver>= 2.1.0comparison, so2.2.0+doesn't silently revert to requiring the legacy assets again.release.ymlnow computes the same expected asset list in a new "Determine expected release assets" step, and the checksum step + bothgh-releaseupload steps use it, so they can't drift apart again.Test plan
node scripts/validate-release-contract.mjs --self-testpasses.github/workflows/release.ymlparses as valid YAMLv2.1.0after merge to confirm the actual release assets publish cleanly🤖 Generated with Claude Code