feat(release): publish installable multi-platform CLI artifacts#21
Merged
Conversation
076040a to
f8062f4
Compare
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.
Intent
The developer wanted a canonical, versioned Akua agent skill added under skills/agent-skills-standard-following/SKILL.md in the public CLI repository, teaching agents to use current Akua docs and authoritative MCP/Code Mode state, safely discover and use the released CLI, preserve human approvals, and avoid stale commands or unsupported install claims. They required deterministic, specification-compliant metadata and packaging with tests for frontmatter, path/name drift, stale provenance/version data, and reproducibility, implemented through strict TDD and wired into existing validation. Ownership had to remain one-way toward a later private skills-repository import, while excluding README, architecture docs, release/distribution automation, Homebrew, npm, AGENTS.md, and any live mutation. The work had to remain on one feature branch and one review-ready PR, retain pipeline-approved YAML/auth/frontmatter fixes, use no-mistakes v1.35.0 for final validation, and stop with green checks without merging, publishing, releasing, or syncing downstream.
What Changed
Risk Assessment
✅ Low: The new commit resolves the prior reproducibility defect by normalizing archive metadata on Linux and macOS, with no new material risks found in the full review range.
Testing
The PR baseline reported
mise run checkand seven green checks; independently, focused and full Bun tests, generated-source drift checking, two five-target builds, manifest/checksum verification, reproducibility comparison, and a native installed-CLI journey all succeeded, with the reviewer-visible transcript retained and transient build outputs removed.Evidence: Akua release end-to-end transcript
Native checksum: OK; archive contained onlyakua; installed binary reported 0.7.0 and successfully displayed help plus one generated command. All 13 release files were byte-identical across two independent builds.Pipeline
Updates from git push no-mistakes
✅ **intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
🔧 **Review** - 2 issues found → auto-fixed ✅
scripts/release.ts:244- The archives are not reproducible: copying into staging gives the executable a fresh timestamp, and plaintar/ziprecords it. Rebuilding the same tag therefore changes archive bytes, checksums, and manifests, causingplanReleaseUploadsto reject an existing partial release. Normalize archive metadata so a new workflow dispatch can safely resume immutable uploads..github/workflows/release-please.yml:34- Artifact publication begins only after Release Please has already published the GitHub Release. All packaging and native-smoke gates therefore run while the release is publicly incomplete, and a failure leaves a visible release without its promised assets. Confirm this is acceptable, or keep the release draft/unpublished until verification succeeds.🔧 Fix: Normalize release archives for reproducible packaging
✅ Re-checked - no issues remain.
✅ **Test** - passed
✅ No issues found.
bun test test/release.test.ts test/workflows.test.ts test/docs.test.tsbun testbun run generate:checkbun scripts/release.ts package --version 0.7.0 --output dist/release/e2ebun scripts/release.ts verify --version 0.7.0 --output dist/release/e2ebun scripts/release.ts smoke --version 0.7.0 --output dist/release/e2e --target darwin-arm64Manually verified the adjacent SHA-256, single-executable archive contents, executable mode, installedakua --version,akua --help, andakua commands --limit 1Repeated the complete five-target cross-compilation and usedcmpto verify all 13 generated release files were byte-identicalgit status --short --branchafter removing transient build artifacts✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.