Because we use
RustlerPrecompiled
, releasing
is a bit more involved than it would be otherwise.
- Open a PR with any changes needed for the release.
- This must include at least updating the
version
inmix.exs
and any other files that reference it, likeREADME.md
. It must also include updatingCHANGELOG.md
to reflect the release.
-
Once the PR is merged, cut a GitHub release with information from the changelog and tag the commit with the version number.
-
This will kick off the "Build precompiled NIFs" GitHub Action. Wait for this to complete. It usually takes around 40-60 minutes.
-
While the NIFs are compiling, ensure you have the latest version of
main
and don't have any intermediate builds by runningrm -rf native/explorer/target
. -
Once the NIFs are built, use:
EXPLORER_BUILD=true mix rustler_precompiled.download Explorer.PolarsBackend.Native --all --print
to download all the artifacts and generate the checksum file.
-
Paste the SHA 256 contents into the release description on GitHub.
-
Run
mix hex.publish
- please double check the dependencies and files, and confirm. -
Bump the version in the
mix.exs
and add the-dev
flag to it.