Skip to content

Split CI one workflow per platform and add status badges - #39

Merged
germ-mark merged 1 commit into
mainfrom
ci/platform-badges
Aug 11, 2026
Merged

Split CI one workflow per platform and add status badges#39
germ-mark merged 1 commit into
mainfrom
ci/platform-badges

Conversation

@germ-mark

Copy link
Copy Markdown
Contributor

Splits ci.yml into one workflow per platform and puts a status badge for each in the
README. No source change, no release.

Why split rather than add one badge

GitHub's Actions status badges are workflow-scoped — there is no per-job filter. A
single CI workflow containing the Apple, Linux and Android jobs can therefore only ever
produce one badge that says "CI", which tells a reader nothing about which platforms
are proven. One workflow per platform is what makes the badge row meaningful:

workflow job it carries
ci-apple.yml (name: Apple) test — macOS, Mac Catalyst, iOS Simulator
ci-linux.yml (name: Linux) linux_testswift:latest container
ci-android.yml (name: Android) linux-androidskiptools/swift-android-action@v2

Jobs, triggers, matrices, timeouts and steps are carried over unchanged. Each workflow
keeps its own concurrency group — the key is ${{ github.workflow }}, so they stay
independent automatically.

This repo is the natural place to start: it is the only one testing more than one
platform today, and all three legs are green on main, so all three badges are born
green. As the Linux/Android legs land elsewhere, each brings a workflow file and a badge
with it, and the row grows into a live scoreboard rather than a static claim. Nothing is
asserted that is not tested.

Notes

  • main has no branch protection, so no required status check is named after the old
    ci.yml and nothing breaks by renaming it.
  • The three new workflows have no run on main until this merges, so the badges will
    read "no status" until then. Self-healing on the first push after merge.
  • Empty changeset — CI and README only, so no version bump.

Part of the platform-badge convention (GER-2175); the same treatment is planned for
template-swift so future packages inherit it.

🤖 Generated with Claude Code

GitHub's workflow badges are workflow-scoped, so a single CI workflow can
only ever produce one badge. Splitting Apple, Linux and Android into their
own files makes the README state which platforms are actually proven.
@changeset-bot

changeset-bot Bot commented Aug 10, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 4851118

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 0 packages

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@germ-mark
germ-mark merged commit 5ea6da7 into main Aug 11, 2026
10 checks passed
@germ-mark
germ-mark deleted the ci/platform-badges branch August 11, 2026 04:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant