Skip to content

ci: pin Xcode 26.6, run the consumer checks and an iOS build - #32

Merged
Paullo9 merged 4 commits into
mainfrom
claude/project-thread-mxfvqz
Oct 29, 2026
Merged

Paullo9 merged 4 commits into
mainfrom
claude/project-thread-mxfvqz

Conversation

@Paullo9

@Paullo9 Paullo9 commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Requested by Paul · project thread

Fixes #17

  • CI and Docs run on macos-26 with Xcode 26.6 (DEVELOPER_DIR), like the apps, instead of "the newest Xcode" on macos-latest.
  • The required test job (name unchanged) still runs on every pull request. A new post-merge job runs tools/consumer-check, tools/readme-consumer and an iOS Simulator build of CuboKit-Package on push, tag and by hand (not on pull requests, because the free plan's macOS runners are scarce).
  • The lint job's actions/checkout moves from v4 (Node 20) to v7, like the other jobs.

Left for Paul after merge: re-run the Docs workflow for the newest tag (Pages and the tag rule are already on).

🤖 Generated with Claude Code

https://claude.ai/code/session_01VkKZEWRjvbRGe75ep8jhBn

CI and Docs ran on macos-latest with whatever Xcode was newest, so an image
update could change the compiler under a green commit. Both now run on
macos-26 with Xcode 26.6 via DEVELOPER_DIR, as the apps do. The test job also
runs tools/consumer-check, tools/readme-consumer and an iOS Simulator build of
the package (Package.swift declares iOS 18), and the lint job's checkout
moves off the Node 20 major.

Fixes #17

Done: CI pins its toolchain and runs the consumer checks and the iOS build. Next: Paul re-runs Docs for the newest tag once this is merged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VkKZEWRjvbRGe75ep8jhBn
@Paullo9 Paullo9 self-assigned this Oct 28, 2026
The free plan's macOS runners are scarce. The required test job keeps its
name and still runs on every pull request; the added consumer, iOS and
URL-resolution builds move to a job that runs on push, tag and by hand.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VkKZEWRjvbRGe75ep8jhBn
Xcode 26.6's type checker gives up on the hpFrame and positions closures
("unable to type-check this expression in reasonable time"), so the
consumer check never built on the pinned toolchain. Explicit parameter and
result types; the values are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VkKZEWRjvbRGe75ep8jhBn
The same shape (#expect(values == (0..<n).map { Double($0 * k + ...) }))
exceeds Xcode 26.6's type-checker budget in FormatoKit; explicit closure
type here too. The expected values are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VkKZEWRjvbRGe75ep8jhBn
@Paullo9
Paullo9 enabled auto-merge (squash) October 29, 2026 07:47
@Paullo9
Paullo9 merged commit 2606d24 into main Oct 29, 2026
13 checks passed
@Paullo9
Paullo9 deleted the claude/project-thread-mxfvqz branch October 29, 2026 07:48
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.

CI and release gate: deploy the docs, pin the toolchain, lint

2 participants