Skip to content

Per user bundle and side-by-side upgrade support #224

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
merged 26 commits into from
Aug 25, 2023

Conversation

barnson
Copy link
Contributor

@barnson barnson commented Aug 14, 2023

No description provided.

- Remove per-machine resources, use per-user directories, and set
packages to per-user.
- Web bundle that downloads on demand
- Offline bundle with everything embedded
- Custom UI with feature selection
- Side-by-side upgrade strategy
...to resolve multiproc build failure.
Copy link
Contributor

@tristanlabelle tristanlabelle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow, this is all looking super good!

- Use `rtl` consistently.
- Use `InstallRoot`/`INSTALLROOT` consistently.
- Make `HelloMergeModule` build outside the source tree.
- Add Windows Sandbox test scripts.
Copy link
Member

@compnerd compnerd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that the rtlmsi.wixproj and rtlmsi.wxs files were accidentally left off.

@barnson
Copy link
Contributor Author

barnson commented Aug 16, 2023

@compnerd
Copy link
Member

They show up for me? https://github.com/apple/swift-installer-scripts/pull/224/files#diff-2855a8e408181c8244cf51860abeee775421556171314fa3ddcc04a19b8bc3d8

I blame lack of coffee. I swear they weren't showing up earlier.

compnerd added a commit to compnerd/apple-swift that referenced this pull request Aug 16, 2023
@compnerd
Copy link
Member

compnerd commented Aug 16, 2023

Hmm, seems that something is wrong:

C:\Users\swift-ci\jenkins\workspace\swift-PR-build-toolchain-windows\swift-installer-scripts\platforms\Windows\cli\cli.wxs(34): error WIX0103: Cannot find the File file '\usr\bin\clang-tidy.exe'. The following paths were checked: \usr\bin\clang-tidy.exe [C:\Users\swift-ci\jenkins\workspace\swift-PR-build-toolchain-windows\swift-installer-scripts\platforms\Windows\cli\cli.wixproj]

Seems that we are stripping the location prefix when building the installer?

@compnerd
Copy link
Member

Oh, it re-builds the MSIs?

@barnson
Copy link
Contributor Author

barnson commented Aug 16, 2023

It should be passing the same MSBuild properties to the project references, so TOOLCHAIN_ROOT gets passed in from the original MSBuild invocation and flows down into the .wixprojs to get set as a preprocessor variable. Is it possible to get MSBuild binlogs as an artifact?

@barnson
Copy link
Contributor Author

barnson commented Aug 16, 2023

Can you point to the CI run?

@compnerd
Copy link
Member

https://ci-external.swift.org/job/swift-PR-build-toolchain-windows/750/consoleText

@barnson
Copy link
Contributor Author

barnson commented Aug 16, 2023

build-windows-toolchain.bat needs some changes: barnson/swift@2f81b90. I can send that as a PR if that's easier.

@tristanlabelle
Copy link
Contributor

@barnson That'd be useful!

@compnerd
Copy link
Member

I already have swiftlang/swift#67961 up, I can likely just roll it into it

compnerd added a commit to compnerd/apple-swift that referenced this pull request Aug 16, 2023
@compnerd
Copy link
Member

https://ci-external.swift.org/job/swift-PR-build-toolchain-windows/752/

@barnson
Copy link
Contributor Author

barnson commented Aug 16, 2023

I'm not sure what the syntax is but move a b c dir doesn't seem to work.

compnerd added a commit to compnerd/apple-swift that referenced this pull request Aug 16, 2023
compnerd and others added 19 commits August 18, 2023 09:19
This renames the bundle to the "Swift Tool Kit" (Software Development
Kit is the expansion of SDK and results in the Swift SDK SDK).
Additionally, rename the extra utilities (`plutil`) which is optional.
- Remove per-machine resources, use per-user directories, and set
packages to per-user.
- Web bundle that downloads on demand
- Offline bundle with everything embedded
- Custom UI with feature selection
- Side-by-side upgrade strategy
...to resolve multiproc build failure.
- Use `rtl` consistently.
- Use `InstallRoot`/`INSTALLROOT` consistently.
- Make `HelloMergeModule` build outside the source tree.
- Add Windows Sandbox test scripts.
- Consolidate .wxl files to avoid duplication.
- Use `online` bundle flavoring -v- `web`.
- Rename versioned directories to clarify they're versioned.
- Handle multiproc build of shared .wixlib for x86 SDK packages.
- Clean up empty versioned directories.
@compnerd
Copy link
Member

Awesome: https://ci-external.swift.org/job/swift-PR-build-toolchain-windows/761/console ... seems that we can build that. Need to tweak the CI rules before we could merge this.

@compnerd
Copy link
Member

Running https://ci-external.swift.org/job/swift-PR-build-toolchain-windows/762/ with a workaround to see if we can get this through.

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.

3 participants