feat(release): attach downloadable binaries to GitHub releases - #11869
Conversation
Releases only carried GitHub's auto-generated source archives: release.yaml created them with no `files:`, the npm tarballs it already builds were discarded, and desktop installers only build for stable tags. - Compile standalone `elizaos` CLI executables for macOS/Linux/Windows × arch via `bun build --compile` (packages/elizaos/build-standalone.ts). - Make the CLI compiled-aware: inside a bun binary `import.meta.url` points into the unreadable `/$bunfs` root, so getPackageRoot() now resolves templates/manifest/package.json next to the executable (isStandaloneBinary). - Emit the real npm `.tgz` tarballs for the headline packages + checksums (packages/scripts/pack-release-artifacts.mjs), matching what npm publishes. - release.yaml stages both + a combined SHA256SUMS and attaches them to beta releases and to stable production releases. - Regression coverage: src/package-info.test.ts (unit) and scripts/standalone-smoke.mjs (compiles the host binary and drives version/info/create end-to-end). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
|
Claude encountered an error —— View job I'll analyze this and get back to you. |
Supersedes #11859 and closes #11858.
This is the same release-binaries change from #11859, rebased onto current
origin/developafter #11857 merged. It stages downloadable release assets for GitHub Releases:elizaosCLI archives for linux/darwin/windows targets.tgztarballs plus npm checksum fileSHA256SUMS.txtIt also makes the compiled CLI resolve templates,
templates-manifest.json, andpackage.jsonnext to the executable when running from Bun's/$bunfsvirtual root.Local validation in
/tmp/eliza-11859-pr:actionlint .github/workflows/release.yamlgit diff --check origin/develop...HEADbun install --ignore-scriptsto provide the workspace toolchain in the temp worktreebun run --cwd packages/elizaos typecheckbun run --cwd packages/elizaos lint:checkbun test --cwd packages/elizaos src/package-info.test.tsbun run --cwd packages/elizaos build && bun run --cwd packages/elizaos test:standalonebun run --cwd packages/elizaos build && node packages/scripts/pack-release-artifacts.mjs --out /tmp/eliza-release-artifacts-npm --packages elizaosObserved artifacts:
linux-x64standalone archive exercised withversion,info, andcreate --template plugin --yespackage.jsonand.elizaos/template.json/tmp/eliza-release-artifacts-npm/elizaos-2.0.3-beta.7.tgz/tmp/eliza-release-artifacts-npm/SHA256SUMS-npm.txtN/A: UI screenshots/video/frontend logs, real-LLM trajectories, native/device capture. This is release/CLI packaging automation only.