Skip to content

ci: update Swift builds to Xcode 26.6 - #89

Merged
steipete merged 1 commit into
mainfrom
chore/deps-20260913
Sep 13, 2026
Merged

steipete merged 1 commit into
mainfrom
chore/deps-20260913

Conversation

@steipete

@steipete steipete commented Sep 13, 2026

Copy link
Copy Markdown
Collaborator

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-only and swift package update: no lockfile changes; pnpm install --frozen-lockfile and swift package resolve --force-resolved-versions passed.
  • 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, and status --json successfully. Both completion scripts passed shell syntax checks.
  • make docs-site: passed with pinned Node 26.8.2.
  • Independent Codex autoreview: scoped-clean through P2, no accepted/actionable findings.

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.

@clawsweeper

clawsweeper Bot commented Sep 13, 2026

Copy link
Copy Markdown

🦞👀
ClawSweeper picked this up.

Pull request received. I will update this pull request when review starts.

ClawSweeper review complete

ClawSweeper finished reviewing this revision. The review result is being finalized.

View the workflow run.

@clawsweeper clawsweeper Bot added P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. labels Sep 13, 2026
@clawsweeper

clawsweeper Bot commented Sep 13, 2026

Copy link
Copy Markdown

Codex review: needs maintainer review before merge. Reviewed September 13, 2026, 1:26 PM ET / 17:26 UTC.

ClawSweeper review

What this changes

Updates 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
Reviewed head: 1e8542a0fee005e482bd902ba70dbda9fbc68388

Review scores

Measure Result What it means
Overall readiness 🐚 platinum hermit (4/6) A focused, consistent toolchain update with successful CI build validation and no actionable findings.
Proof confidence 🌊 off-meta tidepool Not applicable: The ordinary contributor proof gate does not apply to this collaborator-authored PR. Exact-head hosted CI reports successful execution of the changed build workflow; Swift CodeQL remains pending, and raw logs could not be downloaded.
Patch quality 🐚 platinum hermit (4/6) No actionable review findings were identified.

Verification

Check Result Evidence
Real behavior Not applicable Not applicable: The ordinary contributor proof gate does not apply to this collaborator-authored PR. Exact-head hosted CI reports successful execution of the changed build workflow; Swift CodeQL remains pending, and raw logs could not be downloaded.
Evidence reviewed 6 items Verified introduced scope: The pinned base-to-head diff changes only two runner/toolchain selections and two documentation entries; action pins, permissions, dependency files, and application source are unchanged.
Current-main and release comparison: GitHub contents reads confirmed that fetched main still selects macos-15 and Xcode 26.0.1. The v0.3.6 workflow also uses macos-15, without the newer explicit toolchain pin; neither contains this update.
Deployment and architecture contract preserved: Package.swift retains macOS 14. The unchanged universal builder compiles arm64 and x86_64 and verifies both slices; the CI workflow continues to execute the resulting candidate natively.
Findings None None.
Security None None.

How this fits together

GitHub 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]
Loading

Before merge

None.

Agent review details

Security

None.

Review metrics

Metric Value Why it matters
Toolchain scope 2 workflows updated; 0 application-source changes Both Swift automation paths move together without changing runtime behavior or package requirements.

Technical review

Best 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.

Labels

Label changes:

  • add P3: This is a bounded CI toolchain maintenance update with no established user-facing regression.
  • add rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🌊 off-meta tidepool and patch quality is 🐚 platinum hermit.
  • add status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Not applicable: The ordinary contributor proof gate does not apply to this collaborator-authored PR. Exact-head hosted CI reports successful execution of the changed build workflow; Swift CodeQL remains pending, and raw logs could not be downloaded.

Label justifications:

  • P3: This is a bounded CI toolchain maintenance update with no established user-facing regression.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🌊 off-meta tidepool and patch quality is 🐚 platinum hermit.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Not applicable: The ordinary contributor proof gate does not apply to this collaborator-authored PR. Exact-head hosted CI reports successful execution of the changed build workflow; Swift CodeQL remains pending, and raw logs could not be downloaded.

Evidence

What I checked:

  • Verified introduced scope: The pinned base-to-head diff changes only two runner/toolchain selections and two documentation entries; action pins, permissions, dependency files, and application source are unchanged. (.github/workflows/ci.yml:28, 1e8542a0fee0)
  • Current-main and release comparison: GitHub contents reads confirmed that fetched main still selects macos-15 and Xcode 26.0.1. The v0.3.6 workflow also uses macos-15, without the newer explicit toolchain pin; neither contains this update. (.github/workflows/ci.yml:28, a23d297a25e1)
  • Deployment and architecture contract preserved: Package.swift retains macOS 14. The unchanged universal builder compiles arm64 and x86_64 and verifies both slices; the CI workflow continues to execute the resulting candidate natively. (Package.swift:6, 1e8542a0fee0)
  • Hosted workflow validation: GitHub reports successful toolchain selection, lint, tests, release harness, universal candidate build, and native smoke steps for the exact PR head in https://github.com/openclaw/remindctl/actions/runs/34771394960. Swift CodeQL dependency preparation and initialization succeeded, while its build remained in progress in https://github.com/openclaw/remindctl/actions/runs/34771394923. (.github/workflows/ci.yml:34, 1e8542a0fee0)
  • Prior workflow ownership: Current-main history identifies Peter Steinberger’s prior tooling update. GitHub commit metadata identifies steipete and supplies the patch adding explicit Xcode selection, Swift CodeQL, and native candidate smoke checks. Local deeper blame/show inspection encountered unavailable objects; the relevant patch was read through GitHub instead. (.github/workflows/ci.yml:29, d27218000139)
  • Inspection boundaries: No root or nested AGENTS.md or maintainer notes were found. The checkout remained clean. Job metadata was readable, but downloading raw job logs was blocked by the artifact host allowlist; no local builds or tests were executed. (1e8542a0fee0)

Likely related people:

  • unknown: The claimed source-line change could not be verified from bounded local history. (role: source history unknown; confidence: low)

Rating scale

Score Internal tier Crab rank Meaning
6/6 S 🦀 challenger crab Exceptional readiness
5/6 A 🦞 diamond lobster Very strong readiness
4/6 B 🐚 platinum hermit Good normal PR; ordinary maintainer review
3/6 C 🦐 gold shrimp Useful, but confidence is limited
2/6 D 🦪 silver shellfish Proof or implementation needs work
1/6 F 🧂 unranked krab Not merge-ready
N/A NA 🌊 off-meta tidepool Rating does not apply

Overall follows the weaker of proof and patch quality.
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

Workflow

  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

@steipete
steipete merged commit 3e561b6 into main Sep 13, 2026
12 of 13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant