Skip to content

Rename toolchain msi and cab files to include name of variant (asserts) #428

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 6 commits into from
Jun 23, 2025

Conversation

mhegazy
Copy link
Contributor

@mhegazy mhegazy commented May 29, 2025

Follow up to #427. This mechanically applies the same changes to the rest of the toolchain msi's to have msi and cab name based on the variant they carry (i.e. asserts)

The .wixproj move to to variant specific folder, to make room for adding additional variants in the future. Also renaming the properties holding upgradcode and product name for consistency.

This change should not have any functional impact.

@compnerd
Copy link
Member

This looks good to me, lets take this over #427 since it already contains that commit as well. I'll trigger a new PR run for this.

@compnerd
Copy link
Member

https://ci-external.swift.org/job/swift-PR-build-toolchain-windows/5916/ is the run. Seems that the naming of the cabinets and MSIs is not entirely correct yet? @mhegazy mind taking a look at the output?

Copy link
Member

@etcwilde etcwilde 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 this looks fine, though I believe it will require changes on the CI side of things to handle the new filenames. CC @shahmishal

@mhegazy
Copy link
Contributor Author

mhegazy commented May 30, 2025

https://ci-external.swift.org/job/swift-PR-build-toolchain-windows/5916/ is the run. Seems that the naming of the cabinets and MSIs is not entirely correct yet? @mhegazy mind taking a look at the output?

missed, ide.cab rename. apologies. last commit should fix that.

@mhegazy mhegazy requested a review from compnerd May 30, 2025 22:01
@mhegazy
Copy link
Contributor Author

mhegazy commented Jun 3, 2025

@compnerd mind rerunning the smoke tests

@mhegazy
Copy link
Contributor Author

mhegazy commented Jun 11, 2025

@compnerd gentle ping!

@compnerd
Copy link
Member

@compnerd
Copy link
Member

@shahmishal - this changes the cab/msi naming, can we coordinate the change over?

@mhegazy
Copy link
Contributor Author

mhegazy commented Jun 17, 2025

@shahmishal how do you want to coordinate this change?

@shahmishal shahmishal merged commit d2ba64f into swiftlang:main Jun 23, 2025
@mhegazy mhegazy deleted the variant-specific-all-msis branch June 23, 2025 21:09
mhegazy added a commit to thebrowsercompany/swift-build that referenced this pull request Jun 23, 2025
mhegazy added a commit to mhegazy/swift-build that referenced this pull request Jun 23, 2025
compnerd pushed a commit to compnerd/swift-build that referenced this pull request Jun 23, 2025
compnerd pushed a commit that referenced this pull request Jul 17, 2025
This is a follow up change to #428. In this PR we are making directory IDs reflect the variant in the name of the install directory (e.g. `Swift\Toolchains\6.2.0+Asserts\usr`).

There is no functional change in this change, it is just directory ids. Directory names and which components are installed to which directories should not be changed.

This should make it easier to add new variants by following the same pattern, and will allow us to parametrize authoring that is shared between variants.

Naming convention:

    `ToolchainsVersioned` became `ToolchainsVersionedAsserts` -- this is our top-level toolchain install directory like `Swift\Toolchains\0.0.0+Asserts`
    Subdirectories like `_usr_share` became `toolchains_asserts_usr_share` to reflect the full path at install time e.g. `Swift\Toolchains\0.0.0+Asserts\usr\share`
compnerd pushed a commit that referenced this pull request Jul 31, 2025
This is a follow up change to #428, #433 and #433. And the last change before adding full toolchain variant msi's.

In this change we parametrize the authoring in the wxi files for bld, cli, dbg and ide. Similar to previous changes, this should not have any functional changes; it just makes the authoring reusable in the future to add new variants.

The changes are mostly mechanical. e.g. a directory id `toolchain_asserts_usr_include` becomes `toolchain_$(VariantName)_usr_include`. This allows the same authoring to be used to create different layouts based on the variant without duplicating, and files added are added in one place.

Changes include:

  - directory Ids that have variant name in them
  - Component and ComponentGroup Ids that have variant name in them
  - Upgrade Codes since these are specific to the msi
  - Cab name, again since these are different passed on msi
  - Product name, that is the name of the msi
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.

4 participants