Skip to content

Latest commit

 

History

History
83 lines (59 loc) · 2.34 KB

File metadata and controls

83 lines (59 loc) · 2.34 KB

Release Binary Builds

Aetherheim release binaries should be built natively on the operating system they target. The helper script clones the repository into a clean work directory, checks out the requested ref, builds with cargo build --release --locked, packages the binary, and prints SHA256 values for release notes.

Supported Targets

Script platform Intended OS Package
linux Linux .tar.gz
macos macOS .tar.gz
bsd FreeBSD, OpenBSD, NetBSD, or DragonFly BSD .tar.gz
windows Windows .zip

The script does native builds by default. Do not use it to imply that a Linux host can produce a fully validated Windows, macOS, or BSD release artifact. Run it on each target operating system, then copy the SHA256 lines into the release notes.

--target is available for prepared cross-target hosts, for example aarch64-unknown-linux-gnu, but the correct linker and system libraries are still the operator's responsibility.

Examples

Linux:

python3 scripts/build_release_binary.py linux --ref v1.0.0

macOS:

python3 scripts/build_release_binary.py macos --ref v1.0.0

BSD:

python3 scripts/build_release_binary.py bsd --ref v1.0.0

Windows PowerShell:

py -3 scripts/build_release_binary.py windows --ref v1.0.0

Build from the current working branch before it is pushed:

python3 scripts/build_release_binary.py linux --repo . --ref HEAD

Install Rust automatically when Git and Python are already present:

python3 scripts/build_release_binary.py linux --ref v1.0.0 --install-prereqs

Output artifacts are written to:

target/release-binaries/

The helper packages the binary together with LICENSE, README.md, and SECURITY.md when those files exist.

Platform Policy

Aetherheim remains Linux-first for production deployment, especially for rootless Podman, Wolfi images, and Fluxheim examples. Native binary portability must still be preserved where practical:

  • avoid new Linux-only runtime dependencies in the core binary unless the code is behind a narrow platform module or feature gate;
  • keep Unix file permission hardening for Linux, macOS, and BSD;
  • add Windows ACL hardening before marking Windows production-supported;
  • treat BSD as experimental until it has regular build/test evidence.