[PR #139] [MERGED] feat(release): build static Linux binaries and bundle OverlayBD tools #204

Closed
opened 2026-10-29 14:20:59 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/kvcache-ai/AgentENV/pull/139
Author: @zlzGithub-0801
Created: 8/7/2026
Status: ✅ Merged
Merged: 8/7/2026
Merged by: @yingdi-shan

Base: main ← Head: feat/static-linux-release


📝 Commits (1)

  • 93f8c0a feat(release): build static Linux binaries and bundle OverlayBD tools

📊 Changes

15 files changed (+187 additions, -363 deletions)

View changed files

📝 .github/workflows/release.yml (+21 -10)
📝 Cargo.lock (+12 -0)
📝 Cargo.toml (+4 -0)
📝 README.md (+2 -2)
📝 config/deps_manifest.toml (+7 -22)
📝 crates/aenv/Cargo.toml (+4 -0)
📝 deploy/docker/Dockerfile.agentenv (+0 -2)
📝 docs/src/getting-started/quickstart.md (+2 -2)
📝 docs/src/internals/persistence-artifact-inventory.md (+3 -3)
📝 src/cfg.rs (+1 -1)
📝 src/setup/overlaybd.rs (+116 -282)
📝 storage/overlaybd/src/tools/README.md (+5 -5)
📝 storage/overlaybd/src/tools/oci.rs (+4 -31)
📝 storage/ublk-daemon/src/main.rs (+1 -1)
📝 storage/ublk-daemon/src/server.rs (+5 -2)

📄 Description

What

Use static OpenSSL and static OverlayBD tools, and build Linux releases on Ubuntu 22.04.

Why

The previous Linux release depended on libraries from Ubuntu 24.04. This change lowers the build baseline and makes release binaries more portable across Ubuntu versions.

N/A.

Scope and non-goals

Included:

  • Statically link vendored OpenSSL.
  • Use the static OverlayBD release package.
  • Limit runtime dependencies to baseline system libraries such as glibc, libstdc++, libgcc, and libm.

Non-goals:

  • Installation is not yet fully compatible with all Linux distributions.

Design and behavior changes

  • Update the OverlayBD download and extraction flow to use the static tarball.
  • Enable vendored static OpenSSL for Linux CLI, server, and Docker builds.
  • Build Linux release artifacts on Ubuntu 22.04 instead of Ubuntu 24.04.

Compatibility and operations

  • Public API or generated protocol: No changes.
  • Configuration or defaults: The OverlayBD version and package URL have changed.
  • Snapshot manifest, artifact layout, or storage format: No changes.
  • Upgrade and rollback: The OverlayBD tools are updated to static binaries. The legacy OverlayBD lib directory is removed during upgrade.
  • Host requirements, permissions, ports, or dependencies: No changes.

Validation

  • make fmt
  • make clippy
  • make test-unit
  • Relevant Rust integration tests
  • make -C services test
  • Generated clients/server regenerated with the documented make target
  • Documentation updated
  • Benchmarks or performance comparison completed

Skipped checks and reasons:

  • make -C services test: skipped because this PR does not modify services/.
  • Benchmarks or performance comparison: skipped because this PR does not change performance-sensitive behavior.

Risks and reviewer notes

  • OverlayBD tools no longer include or use a lib directory because the tools are statically linked.
  • Existing legacy OverlayBD libraries are removed during upgrade.

Checklist

  • The PR contains one coherent change and no unrelated formatting or refactoring.
  • New behavior is covered by tests, or I explained why testing is impractical.
  • Logs and examples contain no credentials, tokens, or private registry information.
  • I did not manually edit generated code without updating its source and regenerating it.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/kvcache-ai/AgentENV/pull/139 **Author:** [@zlzGithub-0801](https://github.com/zlzGithub-0801) **Created:** 8/7/2026 **Status:** ✅ Merged **Merged:** 8/7/2026 **Merged by:** [@yingdi-shan](https://github.com/yingdi-shan) **Base:** `main` ← **Head:** `feat/static-linux-release` --- ### 📝 Commits (1) - [`93f8c0a`](https://github.com/kvcache-ai/AgentENV/commit/93f8c0a47b1314f01f102c4766a0f9cd75b4a72f) feat(release): build static Linux binaries and bundle OverlayBD tools ### 📊 Changes **15 files changed** (+187 additions, -363 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/release.yml` (+21 -10) 📝 `Cargo.lock` (+12 -0) 📝 `Cargo.toml` (+4 -0) 📝 `README.md` (+2 -2) 📝 `config/deps_manifest.toml` (+7 -22) 📝 `crates/aenv/Cargo.toml` (+4 -0) 📝 `deploy/docker/Dockerfile.agentenv` (+0 -2) 📝 `docs/src/getting-started/quickstart.md` (+2 -2) 📝 `docs/src/internals/persistence-artifact-inventory.md` (+3 -3) 📝 `src/cfg.rs` (+1 -1) 📝 `src/setup/overlaybd.rs` (+116 -282) 📝 `storage/overlaybd/src/tools/README.md` (+5 -5) 📝 `storage/overlaybd/src/tools/oci.rs` (+4 -31) 📝 `storage/ublk-daemon/src/main.rs` (+1 -1) 📝 `storage/ublk-daemon/src/server.rs` (+5 -2) </details> ### 📄 Description ## What Use static OpenSSL and static OverlayBD tools, and build Linux releases on Ubuntu 22.04. ## Why The previous Linux release depended on libraries from Ubuntu 24.04. This change lowers the build baseline and makes release binaries more portable across Ubuntu versions. ## Related issue N/A. ## Scope and non-goals Included: - Statically link vendored OpenSSL. - Use the static OverlayBD release package. - Limit runtime dependencies to baseline system libraries such as glibc, libstdc++, libgcc, and libm. Non-goals: - Installation is not yet fully compatible with all Linux distributions. ## Design and behavior changes - Update the OverlayBD download and extraction flow to use the static tarball. - Enable vendored static OpenSSL for Linux CLI, server, and Docker builds. - Build Linux release artifacts on Ubuntu 22.04 instead of Ubuntu 24.04. ## Compatibility and operations - Public API or generated protocol: No changes. - Configuration or defaults: The OverlayBD version and package URL have changed. - Snapshot manifest, artifact layout, or storage format: No changes. - Upgrade and rollback: The OverlayBD tools are updated to static binaries. The legacy OverlayBD `lib` directory is removed during upgrade. - Host requirements, permissions, ports, or dependencies: No changes. ## Validation - [x] `make fmt` - [x] `make clippy` - [x] `make test-unit` - [x] Relevant Rust integration tests - [ ] `make -C services test` - [x] Generated clients/server regenerated with the documented `make` target - [x] Documentation updated - [ ] Benchmarks or performance comparison completed ## Skipped checks and reasons: - make -C services test: skipped because this PR does not modify services/. - Benchmarks or performance comparison: skipped because this PR does not change performance-sensitive behavior. ## Risks and reviewer notes - OverlayBD tools no longer include or use a lib directory because the tools are statically linked. - Existing legacy OverlayBD libraries are removed during upgrade. ## Checklist - [x] The PR contains one coherent change and no unrelated formatting or refactoring. - [x] New behavior is covered by tests, or I explained why testing is impractical. - [x] Logs and examples contain no credentials, tokens, or private registry information. - [x] I did not manually edit generated code without updating its source and regenerating it. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-29 14:20:59 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
kvcache-ai/AgentENV#204
No description provided.