All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
v1.1.4 - 2023-05-15
-
Fix
use-cross
to be read as boolean. -
Put the script path to the
GITHUB_PATH
env var, thus making it work inside containers. -
Update "giantswarm/install-binary-action" Action to v2.0.0. This fixes the NodeJS version warnings.
v1.1.3 - 2023-10-27
- Revert the latest release due to a bug introduced: it was not possible to
install
cross
.
v1.1.2 - 2023-10-27
- Explicitly check for
use-cross
to be equal totrue
in order to execute the "cross" branch blocks. This is going to prevent the block to be executed for any value that is not "true".
v1.1.1 - 2023-10-17
- Add option to install
cross
from source. Using the string "from-source" instead of a version will install "cross" from the GitHub repository.
v1.1.0 - 2023-09-22
-
Add support for the
:variant
option. This is a way to build alternative versions for the same target. The idea is to build for different dependencies, or with different features.This feature is compatible with
RustlerPrecompiled
since version 0.7. See: https://github.com/philss/rustler_precompiled/releases/tag/v0.7.0 -
Add the
:cargo-args
option. It enables the users to pass arbitrary flags to thecargo build
command (this may becross build
sometimes). -
Support the
RUSTFLAGS
environment variable. It pass down options to the Rust compiler.Normally this env var is not needed, since it's possible to configure the same flags by configuring the
.cargo/config.toml
file in your project.Be aware that you need to set this env var before using this GitHub Action. It is also required to configure the
Cross.toml
file to read this env var. See the guide for details -
Add two env vars to make easier to debug:
RUSTLER_PRECOMPILED_DEBUG_MODE
: sets the compilation profile to "debug" instead of the default "release".DRY_RUN
: avoid to run the build command, and instead print what would be executed.
-
Support Rustler NIF version selection by cargo features.
This makes the selection of the NIF version work for projects using Rustler above version 0.29. The
RUSTLER_NIF_VERSION
is deprecated since that version, and was removed in the v0.30 of Rustler.The build script is going to detect which cargo features the project has declared that are related to NIF versions. It is going to take the same naming used by Rustler - e.g.
nif_version_2_15
. If the project has declared any "version features", the build script is going to activate the correct version based on the:nif-version
input of the GitHub Action.See the update from Rustler: https://github.com/rusterlium/rustler/blob/master/UPGRADE.md#028---029 And also the RustlerPrecompiled guide: https://hexdocs.pm/rustler_precompiled/precompilation_guide.html#additional-configuration-before-build
v1.0.1 - 2023-03-27
-
Fix missing export of
RUSTLER_NIF_VERSION
env var, that is needed to tell Rustler which version of NIF to use.This fix also includes a check to see if this env var is present in the
Cross.toml
file. If isn't, then we fail the build and print an error message. So people must use theCross.toml
to tell cross to passthrough this env var.An example of this file is the following:
[build.env] passthrough = [ "RUSTLER_NIF_VERSION" ]
The
Cross.toml
must be in the same directory of the Rust project that represents the NIF.
v1.0.0 - 2023-01-23
- Added all needed for the first release. See the README.md for a full description of inputs and outputs.