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.
| 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.
Linux:
python3 scripts/build_release_binary.py linux --ref v1.0.0macOS:
python3 scripts/build_release_binary.py macos --ref v1.0.0BSD:
python3 scripts/build_release_binary.py bsd --ref v1.0.0Windows PowerShell:
py -3 scripts/build_release_binary.py windows --ref v1.0.0Build from the current working branch before it is pushed:
python3 scripts/build_release_binary.py linux --repo . --ref HEADInstall Rust automatically when Git and Python are already present:
python3 scripts/build_release_binary.py linux --ref v1.0.0 --install-prereqsOutput artifacts are written to:
target/release-binaries/
The helper packages the binary together with LICENSE, README.md, and
SECURITY.md when those files exist.
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.