Skip to content

Voiage: new package at 2.1.0 - #14292

Open
edithatogo wants to merge 5 commits into
JuliaPackaging:masterfrom
edithatogo:voiage-ffi-2.0.0
Open

Voiage: new package at 2.1.0#14292
edithatogo wants to merge 5 commits into
JuliaPackaging:masterfrom
edithatogo:voiage-ffi-2.0.0

Conversation

@edithatogo

@edithatogo edithatogo commented Jul 27, 2026

Copy link
Copy Markdown

Builds the stable Rust C ABI from the signed voiage v2.0.0 source revision and publishes libvoiage_ffi for 64-bit glibc/musl Linux, macOS, and Windows targets.

The generated voiage_ffi_jll will remove the Julia package’s current requirement for an independently installed Rust toolchain or locally built shared library.

Validation:

  • the recipe parses and reaches BinaryBuilder runner creation locally;
  • Yggdrasil Buildkite passes all seven requested targets: x86_64/aarch64 glibc Linux, x86_64/aarch64 musl Linux, x86_64/aarch64 macOS, and x86_64 Windows;
  • the consuming Voiage Julia package passes Aqua and its numerical reference tests across Julia 1.10, 1.11, and 1.12 on Linux, macOS, and Windows.

Comment thread V/voiage_ffi/build_tarballs.jl Outdated
Comment on lines +41 to +49
platforms = [
Platform("x86_64", "linux"; libc = "glibc"),
Platform("aarch64", "linux"; libc = "glibc"),
Platform("x86_64", "linux"; libc = "musl"),
Platform("aarch64", "linux"; libc = "musl"),
Platform("x86_64", "macos"),
Platform("aarch64", "macos"),
Platform("x86_64", "windows"),
]

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
platforms = [
Platform("x86_64", "linux"; libc = "glibc"),
Platform("aarch64", "linux"; libc = "glibc"),
Platform("x86_64", "linux"; libc = "musl"),
Platform("aarch64", "linux"; libc = "musl"),
Platform("x86_64", "macos"),
Platform("aarch64", "macos"),
Platform("x86_64", "windows"),
]
platforms = supported_platforms()
filter!(p -> !(Sys.isfreebsd(p) && arch(p) == "aarch64"), platforms) # Rust toolchain is not available on aarch64-unknown-freebsd
filter!(p -> arch(p) != "riscv64", platforms) # Rust toolchain is not available on riscv64

We usually prefer a "negative" list of platforms instead of a "positive" list. Optimally, also with reasons why a platform is filtered out.
Afaik this is what needs to be filtered out for rust to work. Maybe you could start from that and filter out more stuff if necessary

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Implemented at exact head 70e6087dce9cd1e59f644e761c1eecf7d7f2fa58 after rebasing onto current master (5059405e0e9ecced8fb1619baff0cfc6c5478742). The recipe now starts from supported_platforms() and filters only aarch64-unknown-freebsd and riscv64, with the Rust-toolchain reasons retained inline. This expands the initial matrix from 7 to 16 attempted targets; any further exclusion will require target-specific hosted failure evidence.

Copilot AI lite review requested due to automatic review settings August 21, 2026 04:38

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@edithatogo edithatogo changed the title Voiage: new package at 2.0.0 Voiage: new package at 2.1.0 Aug 21, 2026
@edithatogo

Copy link
Copy Markdown
Author

Refreshed the recipe to v2.1.0 and pinned GitSource to signed-release commit 964a0fc334ece9509387cd07d43776adf38be240. Local Julia syntax validation passes; registry acceptance remains subject to the fresh Yggdrasil/Buildkite matrix and maintainer review.

@imciner2

Copy link
Copy Markdown
Member

You still have not addressed the comment left on the PR about the platform list.

edithatogo added a commit to edithatogo/voiage that referenced this pull request Aug 21, 2026
## Summary

- replace the seven-platform Yggdrasil allowlist with the inclusive
`supported_platforms()` universe
- retain only three narrow, evidence-backed exclusions with explicit
reconsideration triggers
- bind the 15-of-15 exact-head Buildkite matrix, per-platform product
hashes, and runnable macOS ABI/numerical smoke evidence
- add a versioned fail-closed platform-coverage contract, validator,
adversarial tests, and Conductor evidence

## Evidence

- external candidate: JuliaPackaging/Yggdrasil#14292 at
`2528e2efb90e4197924d45c98873ca5cdb1a9d42`
- terminal matrix: Buildkite 31972, 15 included targets passed and 3
narrowly excluded
- independently downloaded and SHA-256 verified all 15 product archives
- executed ABI 1.1, symbol, capability, EVPI, and ENBS smoke cases on
arm64 and x86_64 macOS artifacts

## Boundaries

Yggdrasil review/merge, JLL generation, clean-depot JLL execution, Julia
General registration, and indexing remain separate external gates. This
PR does not claim those outcomes.

Closes no external registry issue.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants