Binary distribution
August 21, 2026 ยท View on GitHub
PowerIO.jl wraps the Rust powerio-capi cdylib, shipped as a prebuilt binary
for each platform; users never compile it.
Pipeline
- A version tag on eigenergy/powerio
triggers its
release-binariesworkflow, which buildslibpowerio_capi.<triplet>.tar.gzwith thearrow,matrix,gridfm,dist,pkg, andprobfeatures for Linux glibc (x86_64,aarch64), macOS (x86_64,arm64), and Windows (x86_64), and attaches the five tarballs to the GitHub release. Each tarball holds the cdylib underlib/(bin/on Windows), the C header underinclude/, and the licenses. - A reviewed
.github/powerio-release.tomlnames the exact tag and binds it to the final Julia source digest. "Update artifacts" downloads the five tarballs, computes each one's SHA-256 and unpacked git-tree-sha1, and asksgen/update_artifacts.jlto buildArtifacts.toml. Before writing, the generator verifies the core and distribution ABIs, all six features and representative symbols, and bothpio_schema_versions_jsonandpio_build_info. A semantic mismatch parks withArtifacts.tomluntouched. The workflow tests the exact result, commits onlyArtifacts.toml, pushes only whenmainhas not moved, and dispatches registration for that exact SHA. See CONTRIBUTING.md for the state machine and recovery commands. Artifacts.tomlis lazy: nothing downloads atPkg.add; the tarball for the current platform is fetched on the first call that needs the library.
Resolution order
_lib() resolves the library in this order:
PowerIO.set_library!(path)/ thePOWERIO_CAPIenvironment variable (the dev override),- the saved Preferences.jl
libraryoverride, - a sibling
poweriocheckout'starget/{release,debug}build, - the
powerio_capiartifact, - a plain
libpowerio_capion the loader path.
On an unsupported platform the artifact lookup fails and the fallbacks keep a local build working.
PowerIO.set_library!("/path/to/libpowerio_capi.dylib"; persist=true)
PowerIO.clear_library!(persist=true)
JLL
A PowerIO_jll built from gen/build_tarballs.jl (the BinaryBuilder recipe)
is the planned long-term distribution; current releases use the artifact
pipeline above.