Merged
Conversation
Motivation * The macOS CI runners now provide symbolic links mapping Swift versions to Xcode apps (`Xcode_swift_6.1.app`, `Xcode_swift_6.2.app`, `Xcode_swift_6.3.app`), decoupling CI from specific Xcode versions. * Several Xcode versions (16.3, 26.0, 26.1, 26.2) are being deprecated and removed from runners. * The new model lets downstream adopters target Swift versions directly, which are stable across Xcode version churn. Modifications * Added `swift_6_1_enabled`, `swift_6_2_enabled`, `swift_6_3_enabled` inputs (with corresponding `build_arguments_override`, `test_arguments_override`, `setup_command`) to `macos_tests.yml`, all defaulting to `false`. * Added `macos_swift_6_1_enabled`, `macos_swift_6_2_enabled`, `macos_swift_6_3_enabled` inputs to `macos_benchmarks.yml`. * Added matrix entries using the `Xcode_swift_6.X.app` symlink paths. * All existing `xcode_*` inputs remain unchanged for backwards compatibility with downstream consumers. Result * Callers can now opt in to Swift-version-based macOS CI jobs. * No existing behavior changes for current consumers.
Motivation * SwiftNIO should use the new Swift-version-based macOS CI inputs introduced in the previous commit. * The `-require-explicit-sendable` build argument overrides on Xcode 16.2/16.3 are no longer needed. Modifications * Enabled `swift_6_1_enabled`, `swift_6_2_enabled`, `swift_6_3_enabled` in both `main.yml` and `pull_request.yml`. * Removed `xcode_16_2_build_arguments_override` and `xcode_16_3_build_arguments_override` from both callers. Result * SwiftNIO CI now runs macOS jobs for Swift 6.1, 6.2, and 6.3 using the stable `Xcode_swift_6.X.app` symlinks.
c11059d to
ba5ef35
Compare
This reverts commit ba5ef35.
FranzBusch
approved these changes
Mar 11, 2026
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.
Add Swift-version-based inputs to macOS CI workflows
Motivation
Xcode_swift_6.1.app,Xcode_swift_6.2.app,Xcode_swift_6.3.app), decoupling CI from specific Xcode versions.16.3,26.0,26.1,26.2) are being deprecated and removed from runners.-require-explicit-sendablebuild argument overrides on Xcode 16.2/16.3 are no longer needed.Modifications
swift_6_1_enabled,swift_6_2_enabled,swift_6_3_enabledinputs (with correspondingbuild_arguments_override,test_arguments_override, setup_command) tomacos_tests.yml, all defaulting to false.swift_6_1_enabled, macos_swift_6_2_enabled, macos_swift_6_3_enabledinputs tomacos_benchmarks.yml.Xcode_swift_6.X.appsymlink paths.xcode_*inputs remain unchanged for backwards compatibility with downstream consumers.xcode_16_2/16_3build argument overrides.Result
6.1,6.2, and6.3using the stableXcode_swift_6.X.appsymlinks.An example of this working here https://github.com/apple/swift-nio/actions/runs/22960228328/job/66648462048?pr=3546