Skip to content

W5 release workflow: reintroduce x86_64-apple-darwin (macos-13) for tag-push artefact builds #9

@liam-ai-reality

Description

@liam-ai-reality

Tracking item for W5 (issue #5) of the v0.1 build.

Context

PR #8 (W1) originally ran x86_64-apple-darwin on the macos-13 GitHub-hosted runner as part of the per-PR cross-platform-build matrix in .github/workflows/ci.yml. That runner has hit recent capacity constraints on the GitHub-hosted fleet, gating PRs behind a queue.

design.md §9's release pipeline is described as on tag push, not on PR:

GitHub Actions matrix on tag push: build per-platform binary, upload artifact, then a publish job downloads all artifacts, stages them into the npm sub-packages and the PyPI wheel directories, and publishes in order: per-platform npm packages → main npm package → PyPI wheels → cargo publish → GitHub Release.

So per-PR cross-platform builds are belt-and-suspenders, not a release-correctness mechanism.

Decision

Drop x86_64-apple-darwin from the per-PR matrix in PR #8. Honour the v0.1 platform commitment by reintroducing it in the W5 release workflow (built at tag push only).

What W5 must include

  • A release.yml (or equivalent) workflow that runs the full 5-platform matrix on tag push: aarch64-apple-darwin, x86_64-apple-darwin (macos-13), x86_64-unknown-linux-gnu, aarch64-unknown-linux-gnu, x86_64-pc-windows-msvc.
  • Each job uploads its release binary as an artefact.
  • A publish job stages artefacts into the npm sub-packages and PyPI wheel directories per design §9, then publishes in the documented order.
  • If macos-13 is sunset by GitHub Actions before v0.1 ships, swap to a self-hosted Intel-Mac runner or whatever GitHub's then-current Intel-Mac fleet name is — or formally drop x86_64-apple-darwin from the v0.1 platform matrix (with an explicit roadmap update).

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    v0.1klasp v0.1 milestone work

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions