ci: update Swift builds to Xcode 26.6 - #89
Conversation
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review completeClawSweeper finished reviewing this revision. The review result is being finalized. |
|
Codex review: needs maintainer review before merge. Reviewed September 13, 2026, 1:26 PM ET / 17:26 UTC. ClawSweeper reviewWhat this changesUpdates CI and Swift CodeQL to Xcode 26.6 on macOS 26 and documents the toolchain change. Merge readiness✅ Ready for maintainer review The update remains useful: current main still pins Xcode 26.0.1. No actionable patch defect was found, and the collaborator-authored PR is protected from automatic closure. The CI build passed; Swift CodeQL remains in progress. Priority: P3 Review scores
Verification
How this fits togetherGitHub Actions builds and checks remindctl, a Swift command-line interface to Apple Reminders. These workflows turn source changes into tested universal binaries and CodeQL analysis while retaining the package’s macOS 14 deployment target. flowchart LR
A[Source changes] --> B[macOS 26 runner]
B --> C[Xcode 26.6]
C --> D[Tests and universal build]
C --> E[Swift CodeQL analysis]
D --> F[Native CLI smoke checks]
Before mergeNone. Agent review detailsSecurityNone. Review metrics
Technical reviewBest possible solution: Keep the toolchain update synchronized across CI and Swift CodeQL while preserving the deployment target and universal-build checks. Do we have a high-confidence way to reproduce the issue? Not applicable: this is a toolchain maintenance change, and current-main source confirms the older pin. Is this the best way to solve the issue? Yes: updating the existing runner and Xcode selections together is a narrow approach that preserves the established build and deployment contracts. AGENTS.md: not found in the target repository. Codex review notes: model internal, reasoning medium; reviewed against a23d297a25e1. LabelsLabel changes:
Label justifications:
EvidenceWhat I checked:
Likely related people:
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
|
CI and Swift CodeQL still build with Xcode 26.0.1. Move both to the latest stable Xcode 26.6 on the macOS 26 runner, where that toolchain is installed. The macOS 14 deployment target and Swift 6.2+ source requirement remain unchanged. Update the development docs and add one Unreleased changelog entry.
The dependency sweep confirmed that Commander 0.2.4, Node 26.8.2, pnpm 12.4.1, all seven GitHub action pins, SwiftLint 0.65.1, ShellCheck 0.11.0, and actionlint 1.7.12 are already current. Swift and pnpm lockfile regeneration produced no changes. Xcode 27 / Swift 6.4 remain preview toolchains and are not selected for CI. No open Dependabot PRs need superseding.
Validation for head
1e8542a0fee005e482bd902ba70dbda9fbc68388:pnpm install --lockfile-onlyandswift package update: no lockfile changes;pnpm install --frozen-lockfileandswift package resolve --force-resolved-versionspassed.make check: strict Swift format/SwiftLint, ShellCheck, actionlint, all Swift tests, and coverage passed (94.1%, 950/1010 RemindCore lines; existing 90% gate).make release-harness: all credential-free release-policy tests passed.pnpm build: release CLI built and signature verified; the built executable ran--version(0.3.6),--help,completion bash,completion zsh, andstatus --jsonsuccessfully. Both completion scripts passed shell syntax checks.make docs-site: passed with pinned Node 26.8.2.Local Swift validation used the installed Xcode 27 / Swift 6.4 preview. Exact pinned Xcode 26.6 validation passed in CI and all three CodeQL analyses. CI also passed both architecture release builds and native execution of the universal candidate. Every substantive check and the CodeQL summary are green at the exact head above; the unrelated codesmith integration is skipped.