microsoft / WindowsAppSDK

The Windows App SDK empowers all Windows desktop apps with modern Windows UI, APIs, and platform features, including back-compat support, shipped via NuGet.
https://docs.microsoft.com/windows/apps/windows-app-sdk/
MIT License
3.72k stars 307 forks source link

Setup Validation Stage for Installer in the Foundation PR build #4516

Closed kythant closed 4 days ago

kythant commented 4 days ago

This new stage will download the WindowsAppSDK package from the latest Aggregator Nightly build off main. It will then proceed to build the installer using downloaded WindowsAppSDK package.

WindowsAppSDK\build\AzurePipelinesTemplates\WindowsAppSDK-BuildInstaller-Steps.yml is a stripped-down version of WindowsAppSDKAggregator/build/AzurePipelinesTemplates/WindowsAppSDK-CreateInstaller-Steps.yml

I've also copied over https://microsoft.visualstudio.com/ProjectReunion/_git/WindowsAppSDKAggregator?path=/build/Scripts/CreateInstallerOverrideHeader.ps1 and https://microsoft.visualstudio.com/ProjectReunion/_git/WindowsAppSDKAggregator?path=/build/Scripts/ExtractMSIXFromNuget.ps1 into this PR

The plan for the future is to have both builds use the same template which would work for both OneBranch and non-OneBranch builds. The WindowsAppSDKAggregator will have its version deleted and would use the template from this repository.

For now, in the interest of time, we will keep these two templates at the risk of them diverging and the template only works for non-OneBranch builds.

There is a concern that I have with the circular nature of this. What if the installer changes require changes on the WindowsAppSDK NuGet as well? This means that a previous build of the WindowsAppSDK NuGet may not work and as a result, the validation will fail and we will need a way to override this.

Test run with broken change to show that it will failed when a broken change is introduced https://microsoft.visualstudio.com/DefaultCollection/ProjectReunion/_build/results?buildId=102273256&view=results

kythant commented 4 days ago

/azp run

azure-pipelines[bot] commented 4 days ago
Azure Pipelines failed to run 1 pipeline(s).
kythant commented 4 days ago

/azp run

azure-pipelines[bot] commented 4 days ago
Azure Pipelines successfully started running 1 pipeline(s).
kythant commented 4 days ago

/azp run

azure-pipelines[bot] commented 4 days ago
Azure Pipelines successfully started running 1 pipeline(s).