Skip to content

M3b infra: stand up macOS CI runner(s) for Metal builds/tests #8

Description

@Bantarus

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)

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions