Skip to content

Make skip-cmake-bootstrap unconditional #7095

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

Closed
wants to merge 3 commits into from

Conversation

neonichu
Copy link
Contributor

Follow up to #7089

I don't necessarily expect this to work as-is.

@neonichu neonichu self-assigned this Nov 14, 2023
@neonichu
Copy link
Contributor Author

@swift-ci please test

@neonichu
Copy link
Contributor Author

OK, as expected, this fails:

--- bootstrap: note: Building SwiftPM (with a prebuilt swift-build)
env: ‘/home/build-user/build/buildbot_incremental/toolchain-linux-x86_64/usr/bin/swift-build’: No such file or directory

Follow up to #7089

I don't necessarily expect this to work as-is.
@neonichu neonichu force-pushed the cmake-bootstrap-no-swift-build-check branch from 95645f3 to b6b3632 Compare November 14, 2023 21:55
@neonichu
Copy link
Contributor Author

@swift-ci please test

@neonichu
Copy link
Contributor Author

--- bootstrap: note: Building SwiftPM (with a prebuilt swift-build)
error: Missing value for '-c <configuration>'
Help:  -c <configuration>  Build with configuration
Usage: swift build <options>
  See 'build -help' for more information.

Hm, looks like there's an issue assembling the commandline

@neonichu
Copy link
Contributor Author

@swift-ci please test

@neonichu
Copy link
Contributor Author

neonichu commented Nov 15, 2023

So the command we're running is

env SWIFTCI_USE_LOCAL_DEPS=1 SWIFTPM_MACOS_DEPLOYMENT_TARGET=12.0 SWIFT_EXEC=/home/build-user/build/buildbot_incremental/toolchain-linux-x86_64/usr/bin/swiftc SWIFT_DRIVER_SWIFT_EXEC=/home/build-user/build/buildbot_incremental/toolchain-linux-x86_64/usr/bin/swiftc CC=/home/build-user/build/buildbot_incremental/toolchain-linux-x86_64/usr/bin/clang swift build --disable-sandbox --force-resolved-versions -Xswiftc -Xfrontend -Xswiftc -disable-implicit-concurrency-module-import -Xswiftc -Xfrontend -Xswiftc -disable-implicit-string-processing-module-import --build-path /home/build-user/build/buildbot_incremental/swiftpm-linux-x86_64 --configuration release -Xswiftc -module-cache-path -Xswiftc /home/build-user/build/buildbot_incremental/swiftpm-linux-x86_64/module-cache -Xbuild-tools-swiftc -module-cache-path -Xbuild-tools-swiftc /home/build-user/build/buildbot_incremental/swiftpm-linux-x86_64/module-cache

which seems expected.

Locally, I can't repro the error error: Missing value for '-c <configuration>'

@neonichu
Copy link
Contributor Author

Oh I guess the installed SwiftPM will not understand -Xbuild-tools-swiftc

@neonichu
Copy link
Contributor Author

@swift-ci please test

@neonichu
Copy link
Contributor Author

neonichu commented Nov 15, 2023

error: 'swiftpm': Invalid manifest (compiled with: ["/home/build-user/build/buildbot_incremental/toolchain-linux-x86_64/usr/bin/swiftc", "-vfsoverlay", "/tmp/TemporaryDirectory.UOKn9w/vfs.yaml", "-L", "/opt/swift/5.8.1/usr/lib/swift/pm/ManifestAPI", "-lPackageDescription", "-Xlinker", "-rpath", "-Xlinker", "/opt/swift/5.8.1/usr/lib/swift/pm/ManifestAPI", "-swift-version", "5", "-I", "/opt/swift/5.8.1/usr/lib/swift/pm/ManifestAPI", "-package-description-version", "5.7.0", "/home/build-user/swiftpm/Package.swift", "-Xfrontend", "-disable-implicit-concurrency-module-import", "-Xfrontend", "-disable-implicit-string-processing-module-import", "-o", "/tmp/TemporaryDirectory.JN042u/swiftpm-manifest"])
/home/build-user/swiftpm/Package.swift:16:8: error: module compiled with Swift 5.8.1 cannot be imported by the Swift 5.11 compiler: /opt/swift/5.8.1/usr/lib/swift/pm/ManifestAPI/PackageDescription.swiftmodule
import PackageDescription
       ^

This will be a problem.

@neonichu
Copy link
Contributor Author

macOS failure is fixed by swiftlang/swift-driver#1486

@neonichu
Copy link
Contributor Author

@swift-ci please test macOS

@neonichu
Copy link
Contributor Author

Hm, looks like we may have to nuke the build description between builds since install is using the installed SwiftPM now. Or we make it used the just built SwiftPM if there is one:

+ /Users/ec2-user/jenkins/workspace/swift-package-manager-PR-macos-smoke-test/branch-main/swiftpm/Utilities/bootstrap install --release --swiftc-path /Users/ec2-user/jenkins/workspace/swift-package-manager-PR-macos-smoke-test/branch-main/build/buildbot_incremental/toolchain-macosx-x86_64/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc --clang-path /Users/ec2-user/jenkins/workspace/swift-package-manager-PR-macos-smoke-test/branch-main/build/buildbot_incremental/toolchain-macosx-x86_64/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang --cmake-path /usr/local/bin/cmake --ninja-path /Users/ec2-user/jenkins/workspace/swift-package-manager-PR-macos-smoke-test/branch-main/build/buildbot_incremental/ninja-build/ninja --build-dir /Users/ec2-user/jenkins/workspace/swift-package-manager-PR-macos-smoke-test/branch-main/build/buildbot_incremental/swiftpm-macosx-x86_64 --llbuild-build-dir /Users/ec2-user/jenkins/workspace/swift-package-manager-PR-macos-smoke-test/branch-main/build/buildbot_incremental/llbuild-macosx-x86_64 --prefix /Users/ec2-user/jenkins/workspace/swift-package-manager-PR-macos-smoke-test/branch-main/build/buildbot_incremental/toolchain-macosx-x86_64/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr
--- bootstrap: note: Building SwiftPM (with a prebuilt swift-build)
warning: '--build-path' option is deprecated; use '--scratch-path' instead
warning: unable to restore workspace state: unknown 'WorkspaceStateStorage' version '6' at '/Users/ec2-user/jenkins/workspace/swift-package-manager-PR-macos-smoke-test/branch-main/build/buildbot_incremental/swiftpm-macosx-x86_64/workspace-state.json'
error: invalid tool type in 'tools' map
error: unable to load build file

@neonichu
Copy link
Contributor Author

But at least looks like we won't need to do any multi-stage build for SwiftPM on macOS since we can use the PD libraries from installed SwiftPM due to library evolution being a thing.

@neonichu
Copy link
Contributor Author

This PR needs to flip the --skip-cmake-bootstrap once it has been reverted on main.

@neonichu neonichu closed this Dec 7, 2023
@neonichu neonichu deleted the cmake-bootstrap-no-swift-build-check branch February 12, 2024 19:55
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