Voiage: new package at 2.1.0 - #14292
Conversation
| 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"), | ||
| ] |
There was a problem hiding this comment.
| 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
There was a problem hiding this comment.
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.
|
Refreshed the recipe to v2.1.0 and pinned |
|
You still have not addressed the comment left on the PR about the platform list. |
db38b52 to
70e6087
Compare
## 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.
Builds the stable Rust C ABI from the signed voiage v2.0.0 source revision and publishes
libvoiage_ffifor 64-bit glibc/musl Linux, macOS, and Windows targets.The generated
voiage_ffi_jllwill remove the Julia package’s current requirement for an independently installed Rust toolchain or locally built shared library.Validation: