Repository navigation
ci(release): tag-driven release with attested binaries and crates.io trusted publishing (LAB-5117) - #4
Conversation
…trusted publishing (LAB-5117) A version tag on a commit in main builds static Linux (x86_64, aarch64) and Apple silicon binaries on GitHub-hosted runners, tests each target, attests the archives and the binaries in them, creates the GitHub Release, and then publishes the crate through crates.io trusted publishing, so the repo holds no registry token. The README gains an install section: cargo install --locked, and the pinned gh attestation verify command for release binaries.
Code Review Completed! 🔥The code review was successfully completed based on your current configurations. Kody Guide: Usage and ConfigurationInteracting with Kody
Providing Context (Files & MCPs)Add these hints in your PR description (or a comment) to unlock deeper checks:
Current Kody ConfigurationReview OptionsThe following review options are enabled or disabled:
Kody Code Review — 2 suggested fixes. 🛠️ Open Agent Prompt |
A rerun after a failed publish found the release already there, so gh release create failed and the publish job never ran again. The step now replaces the existing release's archives with the rerun's attested ones and carries on to publish.
Code Review Completed! 🔥The code review was successfully completed based on your current configurations. Kody Guide: Usage and ConfigurationInteracting with Kody
Providing Context (Files & MCPs)Add these hints in your PR description (or a comment) to unlock deeper checks:
Current Kody ConfigurationReview OptionsThe following review options are enabled or disabled:
|
Code Review Completed! 🔥The code review was successfully completed based on your current configurations. Kody Guide: Usage and ConfigurationInteracting with Kody
Providing Context (Files & MCPs)Add these hints in your PR description (or a comment) to unlock deeper checks:
Current Kody ConfigurationReview OptionsThe following review options are enabled or disabled:
|
…es.io prerequisite (LAB-5117)
Code Review Completed! 🔥The code review was successfully completed based on your current configurations. Kody Guide: Usage and ConfigurationInteracting with Kody
Providing Context (Files & MCPs)Add these hints in your PR description (or a comment) to unlock deeper checks:
Current Kody ConfigurationReview OptionsThe following review options are enabled or disabled:
|
Code Review Completed! 🔥The code review was successfully completed based on your current configurations. Kody Guide: Usage and ConfigurationInteracting with Kody
Providing Context (Files & MCPs)Add these hints in your PR description (or a comment) to unlock deeper checks:
Current Kody ConfigurationReview OptionsThe following review options are enabled or disabled:
|
Adds
.github/workflows/release.ymland an install section in the README.A version tag (
v0.1.0,v0.2.0-rc.1) runs four jobs, all on GitHub-hosted runners:vplus the crate version, the tagged commit must be onmain, andcargo package --lockedmust build.x86_64andaarch64Linux and a binary for Apple silicon. Each job runs the test suite on its own target before it builds. These jobs hold onlycontents: read, so dependency build scripts never see a signing or publishing token.ckbinary inside it withactions/attest(the actionattest-build-provenancenow wraps), then creates the GitHub Release. A tag with a-makes a pre-release.releaseenvironment) and runscargo publish. It runs last because a crates.io version can never be republished.No installer script ships. The README documents
cargo install --locked cachekit-cliand the pinned verify command, and says why--owner cachekit-ioalone is not enough.Before the first tag, the crate must exist on crates.io with this workflow registered as its trusted publisher, and the repository must be public, because artifact attestations need a public repository on this plan.
Closes LAB-5117