Skip to content

Add on-demand Apple compile CI job (label-triggered) - #241

Merged
monkopedia-reviewer merged 1 commit into
mainfrom
ci/apple-compile-job
Jul 10, 2026
Merged

Add on-demand Apple compile CI job (label-triggered)#241
monkopedia-reviewer merged 1 commit into
mainfrom
ci/apple-compile-job

Conversation

@monkopedia-coder

Copy link
Copy Markdown
Collaborator

What

Adds .github/workflows/ci-apple.yml — a macOS CI job that compiles every Apple target (iOS + macOS, main + test source sets) across all modules.

Why

The existing ci.yaml runs on ubuntu-latest and builds only jvm + linuxX64 + apiCheck + compiler tests. Kotlin/Native can't cross-compile Apple targets off a Mac (kotlin.native.enableKlibsCrossCompilation=false), so iOS/macOS were compiled only at publish time on the macOS runner — a blind spot where an Apple-only breakage (e.g. a missing/misplaced actual) wouldn't surface until release. This closes that gap on demand.

Trigger

Gated on a ci-apple label (or workflow_dispatch) so ordinary pushes don't spend macOS minutes:

  • apply the ci-apple label to a PR that touches Apple sources, or
  • run it manually from the Actions tab.

Compiles (does not link/run) so it needs no simulator; it resolves expect/actual and catches source-level breakage.

This PR is itself labeled ci-apple to smoke-test the workflow against current main.

The ubuntu-only ci.yaml cannot build the iOS/macOS targets — Kotlin/Native
does not cross-compile them off a Mac — so Apple was exercised only at publish
time. Add a macOS job that compiles every Apple target (main + test) on demand:
apply the `ci-apple` label to a PR, or trigger it manually. Gated on the label
so ordinary pushes don't spend macOS minutes.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
@monkopedia-coder monkopedia-coder added the ci-apple Run the on-demand Apple (iOS/macOS) compile CI job on this PR label Jul 10, 2026

@monkopedia-reviewer monkopedia-reviewer left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed to tier-1 standard. Clean infra addition: single-file CI workflow, correct label-gated trigger, macos-latest runner, JDK 21 temurin + setup-gradle + konan cache all matching ci.yaml conventions, 5 Apple targets compiled (main+test) with no simulator required. No secrets, no publish automation, no scope creep. All 6 CI checks green including the apple job itself (5m26s on macos-latest). Approving.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-apple Run the on-demand Apple (iOS/macOS) compile CI job on this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants