ci: Build Linux ARM64 packages - #7
Merged
Merged
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Allow setup-pixi to install the locked default environment on the native ARM64 CI runner. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Owner
|
Thanks! |
SouthEndMusic
pushed a commit
to Deltares/Ribasim
that referenced
this pull request
Jul 28, 2026
## Summary - install Julia 1.12.6 directly from the `julia-forge` Pixi channel on all supported platforms - explicitly pin Julia to `julia-forge` so future solves cannot select another channel - remove redundant JuliaUp preparation from CI workflows - let VS Code use Julia from the activated Pixi environment This follows the approach from Deltares/Wflow.jl#1017. Linux ARM64 packages were enabled upstream in wolfv/julia-forge#7, allowing Ribasim to use one Julia dependency across all four platforms without a JuliaUp fallback. ## Validation - `pixi search julia -c https://prefix.dev/julia-forge --platform linux-aarch64` - `pixi lock` across all four supported platforms - `pixi run --locked julia --version` (`1.12.6`) - verified every locked Julia package comes from `julia-forge` - `pixi run prek run --files pixi.toml pixi.lock` - `git diff --check` --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.
What changed
linux-aarch64to the shared build matrixubuntu-24.04-armrunner, without emulationWhy
Both
julia/recipe.yamlandjulia-lts/recipe.yamlalready define Linux AArch64 sources and checksums, but CI omitted that target. As a result, thejulia-forgechannels do not publish Linux AArch64 packages and downstream users cannot resolve Julia 1.12.6 on that platform.Because release and LTS builds share this matrix, the new job builds and tests both recipes. The existing trusted-publishing steps then upload the release package to
julia-forgeand the LTS package to bothjulia-forge-ltsandjulia-forgeon pushes or manual runs.Validation
Rendered and solved both recipes locally with
--target-platform linux-aarch64:The PR workflow will perform the full builds and Julia smoke tests natively on ARM64.
Background
I ran into this switching from
conda-forge/juliauptojulia-forge/juliain Deltares/Ribasim#3176. I used AI (GPT-5.6) to make this PR, but reviewed it myself.