Context
The dev box is WSL2/Linux with no Apple hardware — it cannot build or test Metal at all. Validating any Metal code requires self-hosted macOS CI runners. This is a prerequisite for the Metal implementation issue and was raised as a deferred CI design item in prior sessions.
Scope
- Provision macOS CI runner(s) (self-hosted or hosted-mac) with Xcode (clang/clang++ ObjC++), the rive toolchain (premake5, make, python, sh), and a Metal-capable GPU.
- Add a CI job that builds the rive Metal libs + ObjC++ shim and runs a headless Metal render smoke test (a
.riv -> pixels).
- Decide native-Metal vs Vulkan-via-MoltenVK for CI per the spike's recommendation.
Acceptance criteria
- A green CI job builds the Metal tier and renders a reference
.riv correctly on macOS.
- Linux (Vulkan) and Windows (D3D12) CI remain green and independent.
Refs
crates/rive-renderer-sys/build.rs (toolchain requirements)
- Metal spike + ObjC++ build issues (depends-on)
Context
The dev box is WSL2/Linux with no Apple hardware — it cannot build or test Metal at all. Validating any Metal code requires self-hosted macOS CI runners. This is a prerequisite for the Metal implementation issue and was raised as a deferred CI design item in prior sessions.
Scope
.riv-> pixels).Acceptance criteria
.rivcorrectly on macOS.Refs
crates/rive-renderer-sys/build.rs(toolchain requirements)