Skip to content

fix(release): align release workflow with legacy-asset drop policy - #382

Merged
nmorgowicz merged 1 commit into
mainfrom
fix/release-legacy-asset-policy
Sep 3, 2026
Merged

fix(release): align release workflow with legacy-asset drop policy#382
nmorgowicz merged 1 commit into
mainfrom
fix/release-legacy-asset-policy

Conversation

@nmorgowicz

Copy link
Copy Markdown
Collaborator

Summary

  • scripts/validate-release-contract.mjs expected only the 4 canonical local-llm-foundry-* assets starting at 2.1.0 (startsWith('2.1.')), but .github/workflows/release.yml still unconditionally built/checksummed/uploaded all 8 canonical+legacy llama-monitor-* assets for every release. The v2.1.0 release tag tripped the mismatch and the Release workflow failed at the checksum-contract step (run 33787791006).
  • Replaces the startsWith('2.1.') check with a real semver >= 2.1.0 comparison, so 2.2.0+ doesn't silently revert to requiring the legacy assets again.
  • release.yml now computes the same expected asset list in a new "Determine expected release assets" step, and the checksum step + both gh-release upload steps use it, so they can't drift apart again.

Test plan

  • node scripts/validate-release-contract.mjs --self-test passes
  • Manually verified the drop-legacy logic across 2.0.13 (keeps legacy), 2.1.0/2.1.5/2.2.0/3.0.0 (drops legacy)
  • .github/workflows/release.yml parses as valid YAML
  • Re-run/re-trigger the Release workflow for v2.1.0 after merge to confirm the actual release assets publish cleanly

🤖 Generated with Claude Code

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>
@github-actions github-actions Bot added github-actions Related to GitHub Actions workflows ci Related to CI/CD pipelines labels Sep 3, 2026
@nmorgowicz
nmorgowicz merged commit 509d66d into main Sep 3, 2026
14 checks passed
@nmorgowicz
nmorgowicz deleted the fix/release-legacy-asset-policy branch September 3, 2026 20:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci Related to CI/CD pipelines github-actions Related to GitHub Actions workflows

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant