Skip to content

fix(release): make registry publishing reproducible#153

Merged
ZhiXiao-Lin merged 1 commit into
mainfrom
fix/release-distribution-recovery-20260723
Jul 23, 2026
Merged

fix(release): make registry publishing reproducible#153
ZhiXiao-Lin merged 1 commit into
mainfrom
fix/release-distribution-recovery-20260723

Conversation

@ZhiXiao-Lin

Copy link
Copy Markdown

Summary

  • add crates.io-compatible project User-Agent headers and strict status handling
  • wait for each crate to become visible before publishing its dependents
  • add the required crates.io versions alongside pinned git revisions for a3s-acl and a3s-runtime
  • add an exact-commit Action for publishing the pinned a3s-runtime prerequisite with the Box registry credential

Root causes addressed

The first v3.1.0 registry job stopped because crates.io rejects anonymous/default curl identification under its data-access policy. Publish dry-runs also exposed that the new a3s-runtime dependency was not yet on crates.io and that the pinned git dependencies lacked publishable version metadata.

Validation

  • workflow YAML parsing
  • changed embedded Bash blocks pass bash -n
  • cargo metadata --locked --no-deps
  • cargo publish --locked -p a3s-box-core --dry-run --allow-dirty
  • cargo publish --locked -p a3s-box-netproxy --dry-run --allow-dirty
  • crates.io API returns 200 with the project User-Agent
  • pinned a3s-runtime source passes its own cargo publish --locked --dry-run

@ZhiXiao-Lin
ZhiXiao-Lin merged commit faa97e6 into main Jul 23, 2026
13 checks passed
@ZhiXiao-Lin
ZhiXiao-Lin deleted the fix/release-distribution-recovery-20260723 branch July 23, 2026 14:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant