Skip to content

Modernize GitHub Actions for Xcode 16.4 and 26.6 - #20

Merged
lm2343635 merged 2 commits into
masterfrom
modernize/xcode-ci
Sep 11, 2026
Merged

lm2343635 merged 2 commits into
masterfrom
modernize/xcode-ci

Conversation

@lm2343635

@lm2343635 lm2343635 commented Sep 10, 2026 •

Copy link
Copy Markdown
Member

Summary

This PR replaces the implicit CocoaPods-only macos-latest build with a pinned SwiftPM build matrix.

Changes

  • update actions/checkout from v2 to v4
  • add read-only workflow permissions
  • cancel superseded builds for the same ref
  • build on macOS 15 / Xcode 16.4
  • build on macOS 26 / Xcode 26.6
  • print the active Xcode and Swift versions
  • copy the SwiftPM manifest and source target into an isolated temporary package so the legacy CocoaPods Xcode project cannot shadow package discovery
  • resolve dependencies through Swift Package Manager
  • build the RxController package scheme for a generic iOS Simulator destination

Why

The repository should make its supported toolchains explicit. Pinning the matrix gives maintainers a visible compatibility signal whenever GitHub changes macos-latest or Apple ships a new Xcode.

The isolated package directory is intentional: the first CI run proved that invoking xcodebuild at the repository root discovers the legacy Xcode project and fails on its missing _Pods.xcodeproj instead of testing the Swift package.

Validation

  • SwiftPM dependency resolution succeeds
  • Xcode 16.4 / Swift 6.1.2 build succeeds
  • Xcode 26.6 build succeeds
  • Generic iOS Simulator package build succeeds on both runners

Related: #16

@lm2343635
lm2343635 merged commit b466a38 into master Sep 11, 2026
2 checks passed
@lm2343635
lm2343635 deleted the modernize/xcode-ci branch September 11, 2026 00:37
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