Build NIF 2.18 precompiled artifacts on OTP 29, release v0.8.22#55
Merged
Conversation
The precompile matrix built each target on OTP 27 and OTP 28, but both report NIF 2.17, so the jobs overwrote each other's artifacts and no 2.18 tarball was ever published despite mix.exs advertising it. OTP 29 is the first release to report NIF 2.18 — installing there 404'd on the missing artifact. Build the second matrix entry on OTP 29 / Elixir 1.20 instead.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Installing
llama_cpp_exon OTP 29 (NIF 2.18) fails with a 404 when fetching the precompiled binary, even thoughmix.exsadvertises NIF 2.18support via
make_precompiler_nif_versions.Root cause
The precompile matrix built each target on OTP 27 and OTP 28, intending the OTP 28 jobs to produce the 2.18 artifacts — but OTP 28 still
reports NIF 2.17 (2.18 only arrived with OTP 29). Both jobs therefore produced identically named
nif-2.17tarballs, the second upload clobberedthe first, and no 2.18 artifact was ever published. The checksum job's
--ignore-unavailableflag silently skipped the missing files, so everyrelease shipped this way unnoticed.
Retroactively uploading 2.18 assets to v0.8.21 wouldn't help: the published Hex package ships a
checksum.exscontaining only the 2.17 entries,so a new release is required.
Changes
erlef/otp_builds for macOS), producing real
nif-2.18artifacts alongside the OTP 27nif-2.17onesVerification
mix compile --warnings-as-errorsandmix format --check-formattedpass