-
Notifications
You must be signed in to change notification settings - Fork 10.5k
build: migrate playground support to post-build artifact #29443
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
build: migrate playground support to post-build artifact #29443
Conversation
@swift-ci please clean test |
import os | ||
import re | ||
from . import product | ||
from .. import shell |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If possible I would like for us to use the new build_swift.shell
module. It should have all the functionality you want and is Python 2/3 compatible.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually we can hold-off for now and do follow-up PRs to migrate to the new shell
module.
utils/swift_build_support/swift_build_support/products/playgroundsupport.py
Show resolved
Hide resolved
"xcodebuild", | ||
"-configuration", self.args.build_variant, | ||
"-workspace", "swift-xcode-playground-support.xcworkspace", | ||
"-scheme", "BuildScript-{}".format({ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I feel like we should have a helper function of variable for this rather than compute it multiple times in-line.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is only computed twice (once in build, once in install). It is a dictionary lookup, which is pretty fast. I think that trying to extract this and reduce the duplication would actually hurt the readability of the build process.
Build failed |
Build failed |
Looks like the |
85351fe
to
ddc0f30
Compare
@swift-ci please clean test |
Build failed |
Build failed |
ddc0f30
to
d2be528
Compare
Build failed |
@swift-ci please clean test |
Build failed |
d2be528
to
939a3a9
Compare
@swift-ci please clean test |
Build failed |
Build failed |
939a3a9
to
5c01040
Compare
@swift-ci please clean test |
Build failed |
Build failed |
5c01040
to
cd511ec
Compare
@swift-ci please test |
Build failed |
Build failed |
6ea9c09
to
317cb11
Compare
Thanks for the hints @Rostepher, that was extremely helpful. |
@swift-ci please test |
Build failed |
Build failed |
317cb11
to
1c1a8b2
Compare
@swift-ci please test |
Build failed |
Build failed |
1c1a8b2
to
c13d2ef
Compare
@swift-ci please test |
Build failed |
Build failed |
CC: @cwakamo |
@swift-ci Please Build Toolchain macOS Platform |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The change here generally looks good! Had one comment, but otherwise everything makes sense. I kicked off a toolchain build so I can double-check that all the right stuff ends up there with these changes; I'd like to see the result of that before approving.
utils/swift_build_support/swift_build_support/products/playgroundsupport.py
Show resolved
Hide resolved
@swift-ci please test macOS platform |
This migrates the playground support out of the build-script-impl and into the python based build system. This makes it build more similarly to the Swift Package Manager and SourceKit-LSP. More importantly, it reduces the dependency on build-script-impl.
c13d2ef
to
f4086d8
Compare
@swift-ci please test |
Build failed |
@swift-ci please build toolchain macOS platform |
Build failed |
https://ci.swift.org/job/swift-PR-toolchain-osx/484/artifact/branch-master/swift-PR-29443-484-osx.tar.gz @cwakamo seems that the link isn't being post into the PR |
@cwakamo ping |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Took a look at the generated toolchain and compared it with the latest master toolchain on swift.org; looks good to me! (After a long hiatus, the macOS PlaygroundLogger/PlaygroundSupport/XCPlayground have actually returned to the toolchain; I'll need to investigate at some point what needs to be done to get the iOS Simulator and tvOS Simulator versions of those frameworks back as well.)
This migrates the playground support out of the build-script-impl and
into the python based build system. This makes it build more similarly
to the Swift Package Manager and SourceKit-LSP. More importantly, it
reduces the dependency on build-script-impl.
Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.
Resolves SR-NNNN.