Skip to content

fix(release): repair pishoo package metadata publishing#27

Merged
eareimu merged 5 commits into
masterfrom
dev/v0.6.0-homebrew-fix
Jun 17, 2026
Merged

fix(release): repair pishoo package metadata publishing#27
eareimu merged 5 commits into
masterfrom
dev/v0.6.0-homebrew-fix

Conversation

@eareimu

@eareimu eareimu commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Summary

  • publish pishoo DEB metadata into the unified genmeta APT repository used by users
  • generate complete genmeta APT Release metadata with main, contrib, and non-free components
  • guard mutable APT metadata uploads with remote ETag/missing preconditions to avoid cross-publisher races with gmutils
  • reuse already-published same-version Homebrew archives as the metadata source of truth instead of failing on rebuild hash drift
  • keep pishoo Homebrew tap updates pointed at the root formula path
  • create the GitHub Release once with tag-derived notes/provenance, then make package jobs wait for it and upload release archives/assets to that release

Release recovery context

  • The first v0.6.0 product tag run uploaded package objects, but pishoo DEB metadata was written under the split apt/pishoo prefix while users consume https://download.dhttp.net/ppa/genmeta.
  • Retag/rerun may see same-version Homebrew archive keys that already exist with different local rebuild hashes. This now refreshes mutable formula metadata with the remote sha256 rather than trying to overwrite immutable archives.
  • pishoo and gmutils both publish into the unified APT repo. APT mutable metadata uploads are now conditional on the remote baseline so concurrent publishing fails safely and can be rerun instead of silently overwriting the other index update.
  • GitHub Release creation is separated from asset-uploading jobs so archive upload jobs do not race to create or overwrite release notes.

Verification

  • cargo +nightly fmt
  • cargo +nightly fmt -- --check
  • git diff --check
  • cargo test -p xtask publish::s3::deb::tests
  • cargo test -p xtask
  • DHTTP_ROOT_CA=/home/yiyue/code/reimu/keychain/root.crt DHTTP_STUN_SERVER=nat.genmeta.net:20004 DHTTP_H3_DNS_SERVER=https://dns.genmeta.net:4433 DHTTP_HTTP_DNS_SERVER=https://dns.genmeta.net DHTTP_MDNS_SERVICE=_genmeta.local DHTTP_CERT_SERVER_URL=https://license.genmeta.net cargo clippy --all-targets --all-features -- -D warnings
  • DHTTP_ROOT_CA=/home/yiyue/code/reimu/keychain/root.crt DHTTP_STUN_SERVER=nat.genmeta.net:20004 DHTTP_H3_DNS_SERVER=https://dns.genmeta.net:4433 DHTTP_HTTP_DNS_SERVER=https://dns.genmeta.net DHTTP_MDNS_SERVICE=_genmeta.local DHTTP_CERT_SERVER_URL=https://license.genmeta.net cargo test --all-targets --all-features

Note: clippy/test still emit the pre-existing future-incompatibility warning for proc-macro-error2 v2.0.1, but both commands exit successfully.

@eareimu eareimu merged commit d10e6ea into master Jun 17, 2026
5 checks passed
@eareimu eareimu deleted the dev/v0.6.0-homebrew-fix branch June 17, 2026 12:41
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