Releases: Intellection/exstatic
Releases · Intellection/exstatic
v0.2.1
v0.2.0
Release version 0.2.0
v0.1.3
Fixed
- Includes the native source code in the hex release if folks want to build rust backend locally (can be done by setting
EXSTATIC_BUILD=true
v0.1.2
Enabled authenticated downloads from the Exstatic repo:
- Exstatic is a private, direct public URLs are not an option. In v0.1.2 we implement GitHub's private asset download flow, for retrieving the NIF binaries.
- Users must provide a Github Personal Access Token (PAT) (in
EXSTATIC_GITHUB_TOKENenv var) with sufficient priveleges to download precompiled binaries.
v0.1.1
Specifies target in RustPrecompiles config.
v0.1.0
Summary
Currently, developers using Exstatic must manually build the Rust NIFs, requiring a Rust toolchain and dependencies. This PR introduces the RustlerPrecompiled package which streamlines the usage of precompiled NIFs, removing the need for users to build the Rust code themselves. This PR also enhances the CI/CD pipeline with GitHub Actions for testing, precompiling, and releasing NIFs.
Main Changes
RustlerPrecompiled Integration
- Updates Exstatic.Native to use RustlerPrecompiled instead of direct compilation via Rustler.
- Precompiled NIFs will be downloaded from GitHub Releases, reducing local build dependencies.
- Defines
nif_versions: ["2.16"]to target OTP 26 & 27.
GitHub Actions for Precompiled NIF Builds (release.yml)
- Builds NIFs only for macOS & Linux (both ARM and x86_64 for each, we can probably do away with one of the linux builds in the CI depending on what we use for prod builds).
- Uses philss/rustler-precompiled-action to cross-compile and upload binaries.
- Triggers on:
- New tags (e.g., v0.1.0).
- Main branch pushes.
- PRs that modify native code or the
release.ymlfile.
- Uploads NIFs to GitHub Releases when a tag is pushed.
Additional Notes
EXSTATIC_BUILD=true.