Repository navigation
ci!: pinned images and Xcode, --parallel, Pages permissions per job; drops iOS - #34
Merged
Merged
Conversation
…loy job, no iOS claim (#17) Both CI jobs and the docs build name their image and Xcode (DEVELOPER_DIR: 26.6 on macos-26, 26.0 on macos-15) instead of picking the newest with sort -V, which can select a beta. The gate runs tools/test.sh --parallel; it already exits with swift test's status and fails on any warning, so the tee and the second warnings step go, and with them the CIScriptTests check that parsed ci.yml as text. Pages write and id-token move from the workflow to the deploy job. Package.swift drops .iOS(.v18): SpectroKit has never built for iOS (FormatoKit's readers use macOS-only XMLDocument, FormatoKit#27). Done: #17's toolchain, permissions and iOS parts; lint (#26), Dependabot and the reference scan (#25) land in their own PRs. Next: Paul enables Pages for the DocC site. BREAKING CHANGE: Package.swift no longer declares iOS; it never built there. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # .github/workflows/ci.yml # .github/workflows/docs.yml
ci.yml: the Mac runner branch and the new test-floors job take the same pinned DEVELOPER_DIR as `test` (no `sort -V` left), test-floors runs with --parallel. The bug template no longer asks for an iOS version. Done: #17's CI items are on main or here; next: Paul enables Pages for the docs deploy. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Paul · project thread
What and why
The CI and release gate parts of #17 that no other open PR covers. Fixes #17 together with #26 (lint); #25 (Dependabot, private-reference scan) and #29 (tag check) are already on main.
testandtest-floorsjobs (also on the org Mac runner, same path) use Xcode 26.6 throughDEVELOPER_DIR; thetestjob usesmacos-26with Xcode 26.6 andtest-macos15usesmacos-15with Xcode 26.0, both set throughDEVELOPER_DIR. The docs build moves frommacos-latesttomacos-26with Xcode 26.6. Nothing picks the newest Xcode withsort -Vany more, which could select a beta.--parallel. Both gates runtools/test.sh --parallel.tools/test.shalready exits withswift test's status and fails on any warning, so the gate step dropsteeand the duplicate "No warnings" step goes. With them goesCIScriptTests.testCIGatePropagatesSwiftTestFailureThroughTee, the test that parsedci.ymlas text.pages: writeandid-token: writemove from the whole workflow to the deploy job. The build job only getscontents: read.Package.swiftno longer declares.iOS(.v18). SpectroKit never built for iOS, because FormatoKit's readers use macOS-onlyXMLDocument(FormatoKit#27). The PR is marked!for release-please.The other #17 items: the tag check (#29), Dependabot and the private-reference scan (#25) are on main; lint is #26.
Needs Paul: enable GitHub Pages (Settings, then Pages, source "GitHub Actions"), add a
*.*.*tag rule to thegithub-pagesenvironment, then re-run the Docs workflow on the latest tag.Migration
SpectroKit no longer declares iOS. An app or package that lists
.iOS(...)in its platforms and depends on SpectroKit has to drop iOS or stop depending on SpectroKit for that platform. It never built for iOS anyway (FormatoKit's readers use macOS-onlyXMLDocument, FormatoKit#27), so a macOS consumer changes nothing.Checklist
swift test -c release --parallel --skip SpectroKitParityTestspasses; both workflows parse as YAMLBREAKING CHANGE: SpectroKit drops the iOS platform declaration; consumers that list iOS must drop it (it never built for iOS: FormatoKit#27).
🤖 Generated with Claude Code