Skip to content

[workflows] Update CI workflows - #706

Open
lorentey wants to merge 4 commits into
apple:mainfrom
lorentey:workflow-fixes
Open

[workflows] Update CI workflows#706
lorentey wants to merge 4 commits into
apple:mainfrom
lorentey:workflow-fixes

Conversation

@lorentey

@lorentey lorentey commented Aug 18, 2026

Copy link
Copy Markdown
Member
  • Enable tests on FreeBSD
  • Switch to symbolic Xcode version specifications that are based on the Swift version, not the precise Xcode version number. This lets us avoid having to laboriously update the specs every time Xcode gets a new minor release or beta — CI runners will pick up the latest Xcode they have installed that includes the specified Swift release.
  • Stop excluding obsolete Swift versions that are no longer configured on runners.
  • Add a job that tries to build the Xcode project at Xcode/Collections.xcodeproj under the latest Xcode on macOS.
  • Add a job that runs tests with all unstable package traits enabled (UnstableContainersPreview, UnstableHashedContainers, UnstableSortedCollections.
  • In exchange, change hashed-container-tests to only enable UnstableHashedContainers.

(This is not going to be mergeable until this repo's configuration is updated to require an updated set of actions.)

Checklist

  • I've read the Contribution Guidelines
  • My contributions are licensed under the Swift license.
  • I've followed the coding style of the rest of the project.
  • I've added tests covering all new code paths my change adds to the project (if appropriate).
  • I've added benchmarks covering new functionality (if appropriate).
  • I've verified that my change does not break any existing tests or introduce unexplained benchmark regressions.
  • I've updated the documentation if necessary.

@lorentey lorentey changed the title [workflows] Update Xcode versions to check [workflows] Update CI workflows Aug 19, 2026
- Enable tests on FreeBSD
- Switch to symbolic Xcode version specifications that are based on the Swift version, not the precise Xcode version number. This lets us avoid having to laboriously update the specs every time Xcode gets a new minor release or beta — e.g., CI runners will pick up the latest Xcode they have installed that includes the specified Swift release.
- Stop excluding obsolete Swift versions that are no longer configured on runners.
- Add a job that tries to build the Xcode project at `Xcode/Collections.xcodeproj` under the latest Xcode on macOS.
- Add a job that runs tests with all unstable package traits enabled (`UnstableContainersPreview`, `UnstableHashedContainers`, `UnstableSortedCollections`.
- In exchange, change `hashed-container-tests` to only enable `UnstableHashedContainers`.
@lorentey

Copy link
Copy Markdown
Member Author

(swiftlang/github-workflows#309 makes the macos_xcode_versions declaration unnecessary, but I think we should stick with it until we adopt a new github-workflows tag that includes that change.)

@lorentey lorentey closed this Aug 20, 2026
@lorentey lorentey reopened this Aug 20, 2026
- Remove obsolete/unnecessary exclusions
- Remove obsolete macos_xcode_versions definition
- Prefer to define a small `linux_swift_versions` list to having a huge list of exclusions
@lorentey lorentey closed this Aug 21, 2026
@lorentey lorentey reopened this Aug 21, 2026
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.

2 participants