PowerToys icon indicating copy to clipboard operation
PowerToys copied to clipboard

Add New CI Pipeline for Latest WindowsAppSDK

Open shuaiyuanxx opened this issue 1 year ago • 3 comments

Summary

The old PR cannot be reopened, so I create a new PR

This PR introduces the following changes to the CI pipeline and version management:

Pipeline Enhancements:

  • Added a new script UpdateVersions.ps1 to automate the update of Microsoft.WindowsAppSDK versions across various project files.
  • Introduced a new pipeline configuration ci-using-the-latest-winappsdk.yml to build using the latest Microsoft.WindowsAppSDK.
  • Updated existing pipeline configurations to support the new useLatestWinAppSDK parameter.

Pipeline Configuration Updates:

  • Updated job-build-project.yml to handle the useLatestWinAppSDK parameter and adjust the RestoreAdditionalProjectSourcesArg accordingly.
  • Added a new template steps-update-winappsdk-and-restore-nuget.yml for updating and restoring NuGet packages with the latest Microsoft.WindowsAppSDK.
  • Added WinAPPSDK version selection, the pipeline can be manually triggered to use the specified version.

PR Checklist

  • [ ] Closes: #xxx
  • [x] Communication: I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected
  • [x] Tests: Added/updated and all pass
  • [ ] Localization: All end user facing strings can be localized
  • [ ] Dev docs: Added/updated
  • [ ] New binaries: Added on the required places
  • [ ] Documentation updated: If checked, please file a pull request on our docs repo and link it here: #xxx

Detailed Description of the Pull Request / Additional comments

Changes

New Files

  • .pipelines/UpdateVersions.ps1: Script to update Microsoft.WindowsAppSDK versions.
  • .pipelines/v2/ci-using-the-latest-winappsdk.yml: New pipeline configuration for using the latest Microsoft.WindowsAppSDK.
  • .pipelines/v2/templates/steps-update-winappsdk-and-restore-nuget.yml: Template for updating and restoring NuGet packages.

Modified Files

  • .pipelines/v2/templates/job-build-project.yml: Updated to handle useLatestWinAppSDK parameter and adjust MSBuild arguments.
  • .pipelines/v2/templates/pipeline-ci-build.yml: Added useLatestWinAppSDK parameter.

Validation Steps Performed

  • Verified that the new .pipelines/UpdateVersions.ps1 script correctly updates the Microsoft.WindowsAppSDK versions in the relevant project files.
  • Ensured that the new pipeline configuration builds successfully with the latest Microsoft.WindowsAppSDK.
  • Tested the conditional execution of verifyNoticeMdAgainstNugetPackages.ps1 based on the useLatestWinAppSDK parameter.

shuaiyuanxx avatar Dec 10 '24 00:12 shuaiyuanxx

FYI, you can mark it as draft until you're ready. image

crutkas avatar Dec 11 '24 00:12 crutkas

FYI, you can mark it as draft until you're ready. image

Got it, it's ready for review now

shuaiyuanxx avatar Dec 11 '24 01:12 shuaiyuanxx

Hi, we've added the "Don't Merge" tag to the PR, since we're trying to keep the repo stable for the release and possible hotfix if necessary. Please don't merge the PR while the tag is still in here. This allows people to review the PR and approve with less fear that it'll get merged 😄

jaimecbernardo avatar Dec 11 '24 17:12 jaimecbernardo

PR merged, thanks for your suggestions and help.

shuaiyuanxx avatar Dec 19 '24 01:12 shuaiyuanxx