Skip to content

[6.0] Set environment variable to disable building swift-syntax in Swift 6 mode #7500

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

ahoppen
Copy link
Member

@ahoppen ahoppen commented Apr 25, 2024

Companion of swiftlang/swift-syntax#2627

  • Explanation: This allows us to work around the following issue in CI: The self-hosted SwiftPM job has Xcode 15.3 (Swift 5.10) installed and builds a Swift 6 SwiftPM from source. It then tries to build itself as a fat binary using the just-built Swift 6 SwiftPM, which uses xcbuild from Xcode as the build system. But the xcbuild in the installed Xcode is too old and doesn't know about Swift 6 mode, so it fails with: SWIFT_VERSION '6' is unsupported, supported versions are: 4.0, 4.2, 5.0 (rdar://126952308). This is fixed by setting SWIFTSYNTAX_DISABLE_SWIFT_6_MODE in build-using-self.
    The source compat suite is seeing the same issue, just by using bootstrap, so set it there as well.
  • Scope: The build of SwiftPM using the bootstrap and build-using-self scripts
  • Risk: All issues that might have been caused by this will be found at build time
  • Testing: Verified that both the self hosted Swift CI job and the source compat suite build fine with Set environment variable to disable building swift-syntax in Swift 6 mode #7495
  • Issue: rdar://125579439
  • Reviewer: @MaxDesiatov on Set environment variable to disable building swift-syntax in Swift 6 mode #7495

…mode

This allows us to work around the following issue in CI: The self-hosted SwiftPM job has Xcode 15.3 (Swift 5.10) installed and builds a Swift 6 SwiftPM from source. It then tries to build itself as a fat binary using the just-built Swift 6 SwiftPM, which uses xcbuild from Xcode as the build system. But the xcbuild in the installed Xcode is too old and doesn't know about Swift 6 mode, so it fails with: SWIFT_VERSION '6' is unsupported, supported versions are: 4.0, 4.2, 5.0 (rdar://126952308). This is fixed by setting `SWIFTSYNTAX_DISABLE_SWIFT_6_MODE` in `build-using-self`.

The source compat suite is seeing the same issue, just by using `bootstrap`, so set it there as well.
@ahoppen ahoppen changed the title Set environment variable to disable building swift-syntax in Swift 6 mode [6.0] Set environment variable to disable building swift-syntax in Swift 6 mode Apr 25, 2024
@ahoppen
Copy link
Member Author

ahoppen commented Apr 25, 2024

swiftlang/swift-syntax#2627

@swift-ci Please test

@ahoppen ahoppen merged commit 81d9d6f into swiftlang:release/6.0 Apr 26, 2024
5 checks passed
@ahoppen ahoppen deleted the 6.0/build-swift-syntax-in-swift-5-mode branch April 26, 2024 22:45
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