コンテンツにスキップ

リリースチェックリスト

タグ付きリリースは .github/workflows/release.yml でビルドします。対象は Linux、macOS Intel、macOS Apple Silicon、Windows です。

ルートの Cargo.toml では [profile.release] を明示しています。サイズを意識した最適化、LTO、codegen unit の 1 本化、シンボル削除、panic = "abort" が設定されています。

リリース成果物では、Cargo の暗黙の既定値に頼らないでください。

リリースアーカイブは publish job で Cosign の keyless blob signing により署名します。各アーカイブには、対応する *.bundle.sigstore.json bundle を GitHub Release にアップロードします。

bundle には、検証に必要な署名、証明書、transparency log の証明が含まれます。

検証例:

Terminal window
cosign verify-blob \
--bundle asterel-x86_64-unknown-linux-gnu.tar.gz.bundle.sigstore.json \
asterel-x86_64-unknown-linux-gnu.tar.gz

release-quality なローカル gate の正本は scripts/release/human_like_release_gate.sh です。現在は次を実行します。

  • cargo fmt -- --check
  • cargo clippy -- -D warnings
  • cargo check-all
  • cargo test
  • cargo fuzz-smoke
  • cargo audit
  • deterministic な eval baseline の pre/post evidence 比較
  • bad-turn eval replay evidence check

あわせて、ドキュメントを変更した場合は docs build を実行し、CHANGELOG.md に対象タグのリリースノートがあることを確認してください。