The Phoxal robot framework as one coherent workspace: engine library crates (phoxal-core-engine, phoxal-infra-bus, schema crates, phoxal-api-component) plus the complete mandatory platform runtime set. Released together — every runtime image and every phoxal-runtime-<name>-api crate ships at the same version.
A release builds and pushes a GHCR image for every runtime crate
(ghcr.io/phoxal/runtime-<name>), each a multi-arch (linux/amd64 +
linux/arm64) manifest tagged at the workspace version, plus per-target
runtime binaries. See .github/workflows/release.yml.
After a release, prove the image set is coherent — every runtime crate has a published, pullable multi-arch image:
scripts/verify-runtime-release.sh [VERSION] # defaults to the Cargo.toml versionThe runtime set is derived from the workspace (runtime/<name>/Cargo.toml),
so the gate fails if a runtime crate is added without a matching published
image — keeping the release matrix, the runtime crates, and the phoxal-cli
platform-runtime catalog in sync. It uses docker buildx imagetools inspect,
which queries the registry directly (no Docker daemon needed); docker login ghcr.io first for private packages.
AGPL-3.0-only — see LICENSE for the full license text. A commercial license is available — see COMMERCIAL.md and reach out via https://phoxal.com.
See CONTRIBUTING.md. DCO sign-off required on every commit.