chore(release): harden cascade-publish.sh (v0.60.0 cascade lessons)#2308
Open
noahgift wants to merge 1 commit into
Open
chore(release): harden cascade-publish.sh (v0.60.0 cascade lessons)#2308noahgift wants to merge 1 commit into
noahgift wants to merge 1 commit into
Conversation
Three fixes surfaced during the v0.60.0 crates.io cascade (~2h of debugging): 1. check_version() sent no User-Agent → crates.io rejected every request and it always returned "none". This silently broke both --check STATUS and the FINAL VERIFICATION gate (every crate looked unpublished, so the run reported failure even when all 69 published). Now sends a UA. 2. Tier coverage gaps: apr-format (a leaf dep of aprender-core) was absent from TIER 1, and aprender-rag-cli absent from TIER 13 → both were never published by the cascade. Added to their tiers (69/69 coverage). 3. DEFER swallowed two FATAL non-ordering errors behind a "Caused by:" truncation: a stale $CARGO_REGISTRY_TOKEN 403 (it overrides a valid ~/.cargo/credentials.toml) and a dev [patch.crates-io] in .cargo/config.toml pointing at ../<repo> paths missing in a worktree. Now classified as FATAL-AUTH / FATAL-CONFIG with the fix inline, plus prerequisite notes. Happy path unchanged; purely diagnostics + tier coverage. Co-Authored-By: Claude Opus 4.8 <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.
Follow-up to the v0.60.0 crates.io cascade. Three fixes that cost ~2h of debugging tonight, so the next release doesn't repeat them:
check_versionsent no User-Agent → crates.io rejected every request → always returnednone. This silently broke both the--checkSTATUS report and the FINAL VERIFICATION gate (every crate looked unpublished, so the run reported failure even when all 69 published successfully).Tier coverage gaps:
apr-format(a leaf dep ofaprender-core) was missing from TIER 1, andaprender-rag-climissing from TIER 13 → neither was ever published by the cascade. Added → 69/69 coverage.DEFERswallowed two FATAL non-ordering errors behind aCaused by:truncation:$CARGO_REGISTRY_TOKEN→403 authentication failed(the env var overrides a valid~/.cargo/credentials.toml; dry-runs pass because they skip upload)[patch.crates-io]in.cargo/config.tomlpointing at../<repo>paths that don't exist in a git worktree →failed to load sourceBoth are now classified as
FATAL-AUTH/FATAL-CONFIGwith the fix inline, plus prerequisite notes in the header.Happy path unchanged; purely diagnostics + tier coverage. Verified:
bash -nclean; the fixed script is the one that successfully published the v0.60.0 cascade.🤖 Generated with Claude Code