Skip to content

✨ Add standalone binary releases with install scripts#80

Merged
renardeinside merged 4 commits intomainfrom
chore/prepare-release
Feb 17, 2026
Merged

✨ Add standalone binary releases with install scripts#80
renardeinside merged 4 commits intomainfrom
chore/prepare-release

Conversation

@renardeinside
Copy link
Copy Markdown
Collaborator

Summary

  • Embed apx-agent into the apx binary via include_bytes! (same pattern as bun), producing a single self-contained binary per platform
  • Add build-standalone CI job that builds standalone binaries for all 5 platforms (Linux x86_64/aarch64, macOS x86_64/aarch64, Windows x64) and attaches them to GitHub Releases alongside wheels
  • Create curl | sh / irm | iex install scripts (docs/public/install.sh and docs/public/install.ps1) for direct binary distribution without needing uv
  • Deduplicate build.rs — extract shared copy_platform_binary() for bun and agent embedding
  • Simplify agent.rsensure_installed() now delegates to embedded extraction instead of manual copy logic

Changes

File What
crates/core/build.rs Add copy_agent_binary() via shared copy_platform_binary()
crates/core/src/resources.rs Add AGENT_BINARY const + ensure_agent_extracted()
crates/core/src/interop.rs Use embedded extraction as priority 2 in agent resolution
crates/core/src/agent.rs Simplify to delegate to resolve_apx_agent_binary_path()
.github/workflows/release.yml Add build-standalone job, update create-release
docs/public/install.sh POSIX sh installer for Linux/macOS
docs/public/install.ps1 PowerShell installer for Windows

Test plan

  • just check passes (fmt, clippy, type check)
  • cargo build -p apx-bin --release produces a self-contained binary
  • Running the binary extracts agent to ~/.apx/apx-agent automatically
  • Push a test tag to verify build-standalone CI job produces 5 binaries
  • Verify install scripts work: curl -fsSL .../install.sh | sh -s -- --version <tag>
  • Verify existing wheel build pipeline is unaffected

🤖 Generated with Claude Code

Embed apx-agent into the apx binary via include_bytes! (same pattern as
bun), add build-standalone CI job for 5 platforms, and create curl|sh /
irm|iex install scripts for direct binary distribution.
cross runs inside Docker and doesn't inherit host PATH/PROTOC.
Mount .protoc directory and set PROTOC env via CROSS_CONTAINER_OPTS.
@renardeinside renardeinside changed the title Add standalone binary releases with install scripts ✨ Add standalone binary releases with install scripts Feb 17, 2026
@renardeinside renardeinside merged commit 5298139 into main Feb 17, 2026
5 of 6 checks passed
@renardeinside renardeinside deleted the chore/prepare-release branch February 17, 2026 10:08
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