mirror of
https://github.com/microsoft/PowerToys.git
synced 2024-12-24 00:48:00 +08:00
864b862952
* Flatten everything and succeed build * Figure out Settings assets * Remove UseCommonOutputDirectory tag * Proper settings app path * [VCM] Fix assets location * Fix some runtime paths * [RegistryPreview]Use MRTCore specific pri file * [Hosts]Use MRTCore specific pri file * [Settings]Use MRTCore specific pri file * [Peek]Use MRTCore specific pri file * [FileLocksmith]Use MRTCore specific pri file * [ScreenRuler]Use MRTCore specific pri file * [PowerRename]Use MRTCore specific pri file * [Peek]Move assets to own folder * [FileLocksmith] Use own Assets path * [Hosts]Use own assets folder * [PowerRename]Use own assets dir * [MeasureTool] Use its own assets folder * [ImageResizer]Use its own assets path * Fix spellcheck * Fix tab instead of space in project files * Normalize target frameworks and platforms * Remove WINRT_NO_MAKE_DETECTION flag. No longer needed? * Fix AOT and Hosts locations * Fix Dll version differences on dependency * Add Common.UI.csproj as refernce to fix dll versions * Update ControlzEx to normalize dll versions * Update System.Management version to 7.0.2 * Add GPOWrapper to Registry Preview to fix dll versions * [PTRun]Reference Microsoft.Extensions.Hosting to fix dll versions * Fix remaining output paths / dll version conflicts * [KeyboardManager]Executables still on their own directories * Fix Monaco paths * WinAppSDK apps get to play outside again * Enable VCM settings again * Fix KBM Editor path again * [Monaco]Set to own Assets dir * Fix installer preamble; Fix publish. remove unneeded publishes * Remove Hardlink functions * Installer builds again (still needs work to work) * Readd Monaco to spellcheck excludes * Fix spellcheck and call publish.cmd again * [Installer] Remove components that don't need own dirs * [Installer] Refactor Power Launcher * [Installer] Refactor Color Picker * [Installer] Refactor Monaco assets * [Installer]Generate File script no longer needs to remove files * [Installer]Refactor FileLocksmith * [Installer] Refactor Hosts * [Installer]Refactor Image Resizer * [Installer]Refactor MouseUtils * [Installer]Refactor MWB * [Installer]Refactor MeasureTool * [Installer]Refactor Peek * [Installer]Refactor PowerRename and registry fixes * [Installer]Refactor RegistryPreview * [Installer]Refactor ShortcutGuide * [Installer]Refactor Settings * [Installer]Clean up some unused stuff * [Installer]Clean up stuff for user install * [Installer]Fix WinUi3Apps wxs * [Installer]Fix misplaced folders * [Installer]Move x86 VCM dll to right path * Fix monaco language list location * [Installer]Fix VCM directory reference * [CI]Fix signing * [Installer] Fix resources folder for release CI * [ci]Looks like we still ship NLog on PowerToys Run * [Settings]Add dependency to avoid dll collision with Experimentation * [RegistryPreview]Move XAML files to own path * [RegistryPreview]Fix app icon * [Hosts]Move XAML files to their own path * [FileLocksmith]Move XAML files to their own path * [Peek]Move XAML files to own path * [ScreenRuler]Move XAML files to its own path * [Settings]Move XAML to its own path * [ColorPicker]Move Resources to Assets * [ShortcutGuide]Move svgs to own Assets path * [Awake]Move images to assets path * [Runner]Remove debug checks for PowerToys Run assets * [PTRun]Move images to its own assets path * [ImageResizer]Icon for context menu on own assets path * [PowerRename]Move ico to its own path * Remove unneeded intermediary directories * Remove further int dirs * Move tests to its own output path * Fix spellcheck * spellcheck: remove warnings * [CppAnalyzers]Ignore rule in a tool * [CI]Check if all deps.json files reference same versions * fix spellcheck * [ci]Fix task identation * [ci]Add script to guard against asset conflicts * [ci]Add more deps.json audit steps in the release build * Add xbf to spellcheck expects * Fix typo in asset conflict check scripts * Fix some more dependency conflicts * Downgrade CsWinRT to have the same dll version as sdk * [ci]Do a recursive check for every deps.json * Fix spellcheck error inside comment * [ci]Fix asset script error * [ci]Name deps.json verify tasks a bit better * [ci]Improve deps json verify script output * [ci]Update WinRT version to the same running in CI * Also upgrade CsWinRT in NOTICE.MD * [PowerRename]Move XAML files to own path * [Common]Fix Settings executable path * [ci]Verify there's no xbf files in app directories * [installer]Fix firewall path * [Monaco]Move new files to their proper assets path * [Monaco]Fix paths for new files after merge * [Feedback]Removed unneeded build conditions * [Feedback]Clear vcxproj direct reference to frameworks * [Feedback]RunPlugins name to hold PTRun plugins * [Feedback]Remove unneeded foreach * [Feedback]Shortcut Guide svgs with ** in project file * [Feedback]Fix spellcheck
305 lines
10 KiB
YAML
305 lines
10 KiB
YAML
parameters:
|
|
additionalBuildArguments: ''
|
|
|
|
steps:
|
|
- checkout: self
|
|
fetchDepth: 1
|
|
submodules: true
|
|
clean: true
|
|
|
|
- task: PowerShell@2
|
|
displayName: Verifying Nuget package versions for PowerToys.sln
|
|
inputs:
|
|
filePath: '$(build.sourcesdirectory)\.pipelines\verifyNugetPackages.ps1'
|
|
arguments: -solution '$(build.sourcesdirectory)\PowerToys.sln'
|
|
pwsh: true
|
|
|
|
- task: PowerShell@2
|
|
displayName: Verify Arm64 configuration for PowerToys.sln
|
|
inputs:
|
|
filePath: '$(build.sourcesdirectory)\.pipelines\verifyArm64Configuration.ps1'
|
|
arguments: -solution '$(build.sourcesdirectory)\PowerToys.sln'
|
|
pwsh: true
|
|
|
|
- task: PowerShell@2
|
|
displayName: Verify Arm64 configuration for BugReportTool.sln
|
|
inputs:
|
|
filePath: '$(build.sourcesdirectory)\.pipelines\verifyArm64Configuration.ps1'
|
|
arguments: -solution '$(build.sourcesdirectory)\tools\BugReportTool\BugReportTool.sln'
|
|
pwsh: true
|
|
|
|
- task: PowerShell@2
|
|
displayName: Verify Arm64 configuration for WebcamReportTool.sln
|
|
inputs:
|
|
filePath: '$(build.sourcesdirectory)\.pipelines\verifyArm64Configuration.ps1'
|
|
arguments: -solution '$(build.sourcesdirectory)\tools\WebcamReportTool\WebcamReportTool.sln'
|
|
pwsh: true
|
|
|
|
- task: PowerShell@2
|
|
displayName: Verify Arm64 configuration for StylesReportTool.sln
|
|
inputs:
|
|
filePath: '$(build.sourcesdirectory)\.pipelines\verifyArm64Configuration.ps1'
|
|
arguments: -solution '$(build.sourcesdirectory)\tools\StylesReportTool\StylesReportTool.sln'
|
|
pwsh: true
|
|
|
|
- task: PowerShell@2
|
|
displayName: Verify Arm64 configuration for PowerToysSetup.sln
|
|
inputs:
|
|
filePath: '$(build.sourcesdirectory)\.pipelines\verifyArm64Configuration.ps1'
|
|
arguments: -solution '$(build.sourcesdirectory)\installer\PowerToysSetup.sln'
|
|
pwsh: true
|
|
|
|
- task: UseDotNet@2
|
|
displayName: 'Use .NET 7 SDK'
|
|
inputs:
|
|
packageType: sdk
|
|
version: '7.x'
|
|
|
|
- task: NuGetToolInstaller@1
|
|
displayName: Ensure NuGet Installer
|
|
|
|
- task: VisualStudioTestPlatformInstaller@1
|
|
displayName: Ensure VSTest Platform
|
|
|
|
- task: NuGetCommand@2
|
|
displayName: Restore NuGet packages for PowerToys.sln
|
|
inputs:
|
|
command: restore
|
|
feedsToUse: config
|
|
configPath: NuGet.config
|
|
restoreSolution: PowerToys.sln
|
|
restoreDirectory: '$(Build.SourcesDirectory)\packages'
|
|
|
|
- task: VSBuild@1
|
|
displayName: 'Build PowerToys.sln'
|
|
inputs:
|
|
solution: '**\PowerToys.sln'
|
|
vsVersion: 17.0
|
|
platform: '$(BuildPlatform)'
|
|
configuration: '$(BuildConfiguration)'
|
|
msbuildArgs: ${{ parameters.additionalBuildArguments }}
|
|
maximumCpuCount: true
|
|
|
|
- task: NuGetCommand@2
|
|
displayName: Restore NuGet packages for BugReportTool.sln
|
|
inputs:
|
|
command: restore
|
|
feedsToUse: config
|
|
configPath: NuGet.config
|
|
restoreSolution: tools\BugReportTool\BugReportTool.sln
|
|
restoreDirectory: '$(Build.SourcesDirectory)\tools\BugReportTool\packages'
|
|
|
|
- task: VSBuild@1
|
|
displayName: 'Build BugReportTool.sln'
|
|
inputs:
|
|
solution: '**\BugReportTool.sln'
|
|
vsVersion: 17.0
|
|
platform: '$(BuildPlatform)'
|
|
configuration: '$(BuildConfiguration)'
|
|
msbuildArgs: ${{ parameters.additionalBuildArguments }}
|
|
maximumCpuCount: true
|
|
|
|
- task: NuGetCommand@2
|
|
displayName: Restore NuGet packages for WebcamReportTool.sln
|
|
inputs:
|
|
command: restore
|
|
feedsToUse: config
|
|
configPath: NuGet.config
|
|
restoreSolution: tools\WebcamReportTool\WebcamReportTool.sln
|
|
restoreDirectory: '$(Build.SourcesDirectory)\tools\WebcamReportTool\packages'
|
|
|
|
- task: VSBuild@1
|
|
displayName: 'Build WebcamReportTool.sln'
|
|
inputs:
|
|
solution: '**\WebcamReportTool.sln'
|
|
vsVersion: 17.0
|
|
platform: '$(BuildPlatform)'
|
|
configuration: '$(BuildConfiguration)'
|
|
msbuildArgs: ${{ parameters.additionalBuildArguments }}
|
|
maximumCpuCount: true
|
|
|
|
- task: NuGetCommand@2
|
|
displayName: Restore NuGet packages for StylesReportTool.sln
|
|
inputs:
|
|
command: restore
|
|
feedsToUse: config
|
|
configPath: NuGet.config
|
|
restoreSolution: tools\StylesReportTool\StylesReportTool.sln
|
|
restoreDirectory: '$(Build.SourcesDirectory)\tools\StylesReportTool\packages'
|
|
|
|
- task: VSBuild@1
|
|
displayName: 'Build StylesReportTool.sln'
|
|
inputs:
|
|
solution: '**\StylesReportTool.sln'
|
|
vsVersion: 17.0
|
|
platform: '$(BuildPlatform)'
|
|
configuration: '$(BuildConfiguration)'
|
|
msbuildArgs: ${{ parameters.additionalBuildArguments }}
|
|
maximumCpuCount: true
|
|
|
|
- task: NuGetCommand@2
|
|
displayName: Restore NuGet packages for PowerToysSetup.sln
|
|
inputs:
|
|
command: restore
|
|
feedsToUse: config
|
|
configPath: NuGet.config
|
|
restoreSolution: installer\PowerToysSetup.sln
|
|
restoreDirectory: '$(Build.SourcesDirectory)\installer\packages'
|
|
|
|
- task: PowerShell@2
|
|
displayName: Download and install WiX 3.14 development build
|
|
inputs:
|
|
targetType: filePath
|
|
filePath: '$(build.sourcesdirectory)\.pipelines\installWiX.ps1'
|
|
|
|
- task: VSBuild@1
|
|
displayName: 'Build PowerToys per-machine MSI'
|
|
inputs:
|
|
solution: '**\installer\PowerToysSetup.sln'
|
|
vsVersion: 17.0
|
|
platform: '$(BuildPlatform)'
|
|
configuration: '$(BuildConfiguration)'
|
|
msbuildArgs: /t:PowerToysInstaller ${{ parameters.additionalBuildArguments }}
|
|
maximumCpuCount: true
|
|
|
|
- task: VSBuild@1
|
|
displayName: 'Build PowerToys per-machine Bootstrapper'
|
|
inputs:
|
|
solution: '**\installer\PowerToysSetup.sln'
|
|
vsVersion: 17.0
|
|
platform: '$(BuildPlatform)'
|
|
configuration: '$(BuildConfiguration)'
|
|
msbuildArgs: /t:PowerToysBootstrapper ${{ parameters.additionalBuildArguments }}
|
|
clean: false
|
|
maximumCpuCount: true
|
|
|
|
- task: PowerShell@2
|
|
displayName: Clean installer dir before building per-user installer
|
|
inputs:
|
|
targetType: inline
|
|
script: git clean -xfd -e *exe -- .\installer\
|
|
pwsh: true
|
|
|
|
- task: NuGetCommand@2
|
|
displayName: Restore NuGet packages for PowerToysSetup.sln
|
|
inputs:
|
|
command: restore
|
|
feedsToUse: config
|
|
configPath: NuGet.config
|
|
restoreSolution: installer\PowerToysSetup.sln
|
|
restoreDirectory: '$(Build.SourcesDirectory)\installer\packages'
|
|
|
|
- task: VSBuild@1
|
|
displayName: 'Build PowerToys per-user MSI'
|
|
inputs:
|
|
solution: '**\installer\PowerToysSetup.sln'
|
|
vsVersion: 17.0
|
|
platform: '$(BuildPlatform)'
|
|
configuration: '$(BuildConfiguration)'
|
|
msbuildArgs: /t:PowerToysInstaller ${{ parameters.additionalBuildArguments }} /p:PerUser=true
|
|
maximumCpuCount: true
|
|
|
|
- task: VSBuild@1
|
|
displayName: 'Build PowerToys per-user Bootstrapper'
|
|
inputs:
|
|
solution: '**\installer\PowerToysSetup.sln'
|
|
vsVersion: 17.0
|
|
platform: '$(BuildPlatform)'
|
|
configuration: '$(BuildConfiguration)'
|
|
msbuildArgs: /t:PowerToysBootstrapper ${{ parameters.additionalBuildArguments }} /p:PerUser=true
|
|
clean: false
|
|
maximumCpuCount: true
|
|
|
|
# Check if deps.json files don't reference different dll versions.
|
|
- task: PowerShell@2
|
|
displayName: Audit deps.json files for all applications
|
|
inputs:
|
|
filePath: '$(build.sourcesdirectory)\.pipelines\verifyDepsJsonLibraryVersions.ps1'
|
|
arguments: -targetDir '$(build.sourcesdirectory)\$(BuildPlatform)\$(BuildConfiguration)'
|
|
pwsh: true
|
|
|
|
# Check if asset files on the main application paths are playing nice and avoiding basic conflicts.
|
|
- task: PowerShell@2
|
|
displayName: Audit base applications path asset conflicts
|
|
inputs:
|
|
filePath: '$(build.sourcesdirectory)\.pipelines\verifyPossibleAssetConflicts.ps1'
|
|
arguments: -targetDir '$(build.sourcesdirectory)\$(BuildPlatform)\$(BuildConfiguration)'
|
|
pwsh: true
|
|
|
|
- task: PowerShell@2
|
|
displayName: Audit WinAppSDK applications path asset conflicts
|
|
inputs:
|
|
filePath: '$(build.sourcesdirectory)\.pipelines\verifyPossibleAssetConflicts.ps1'
|
|
arguments: -targetDir '$(build.sourcesdirectory)\$(BuildPlatform)\$(BuildConfiguration)\WinUI3Apps'
|
|
pwsh: true
|
|
|
|
# directly not doing WinAppDriver testing
|
|
- task: VSTest@2
|
|
displayName: 'MS Tests'
|
|
condition: ne(variables['BuildPlatform'], 'arm64') # No arm64 agents to run the tests.
|
|
inputs:
|
|
platform: '$(BuildPlatform)'
|
|
configuration: '$(BuildConfiguration)'
|
|
testSelector: 'testAssemblies'
|
|
testAssemblyVer2: |
|
|
**\UnitTests-GcodeThumbnailProvider.dll
|
|
**\UnitTests-StlThumbnailProvider.dll
|
|
**\UnitTests-PdfThumbnailProvider.dll
|
|
**\Settings.UI.UnitTests.dll
|
|
**\UnitTests-GcodePreviewHandler.dll
|
|
**\UnitTests-PdfPreviewHandler.dll
|
|
**\UnitTests-PreviewHandlerCommon.dll
|
|
**\Microsoft.PowerToys.Run.Plugin.Registry.UnitTests.dll
|
|
**\UnitTest-ColorPickerUI.dll
|
|
**\Microsoft.Interop.Tests.dll
|
|
**\ImageResizer.Test.dll
|
|
**\Community.PowerToys.Run.Plugin.UnitConverter.UnitTest.dll
|
|
**\Community.PowerToys.Run.Plugin.ValueGenerator.UnitTests.dll
|
|
**\Microsoft.Plugin.Folder.UnitTests.dll
|
|
**\Microsoft.Plugin.Program.UnitTests.dll
|
|
**\Microsoft.PowerToys.Run.Plugin.Calculator.UnitTest.dll
|
|
**\Microsoft.Plugin.Uri.UnitTests.dll
|
|
**\Wox.Test.dll
|
|
**\Microsoft.PowerToys.Run.Plugin.System.UnitTests.dll
|
|
**\Microsoft.PowerToys.Run.Plugin.TimeDate.UnitTests.dll
|
|
**\Microsoft.Plugin.WindowsTerminal.UnitTests.dll
|
|
**\Microsoft.Plugin.WindowWalker.UnitTests.dll
|
|
**\PreviewPaneUnitTests.dll
|
|
**\UnitTests-SvgThumbnailProvider.dll
|
|
**\UnitTests-SvgPreviewHandler.dll
|
|
**\PowerToys.Hosts.Tests.dll
|
|
**\MouseJumpUI.UnitTests.dll
|
|
!**\obj\**
|
|
!**\ref\**
|
|
|
|
# Native dlls
|
|
- task: VSTest@2
|
|
condition: ne(variables['BuildPlatform'],'arm64') # No arm64 agents to run the tests.
|
|
displayName: 'Native Tests'
|
|
inputs:
|
|
platform: '$(BuildPlatform)'
|
|
configuration: '$(BuildConfiguration)'
|
|
testSelector: 'testAssemblies'
|
|
testAssemblyVer2: |
|
|
**\KeyboardManagerEngineTest.dll
|
|
**\KeyboardManagerEditorTest.dll
|
|
**\UnitTests-CommonLib.dll
|
|
**\PowerRenameUnitTests.dll
|
|
**\powerpreviewTest.dll
|
|
**\UnitTests-FancyZones.dll
|
|
!**\obj\**
|
|
|
|
- task: PowerShell@2
|
|
displayName: Trigger dotnet welcome message so that it does not cause errors on other scripts
|
|
inputs:
|
|
targetType: 'inline'
|
|
script: |
|
|
dotnet list $(build.sourcesdirectory)\src\common\Common.UI\Common.UI.csproj package
|
|
|
|
- task: PowerShell@2
|
|
displayName: Verifying Notice.md and Nuget packages match
|
|
inputs:
|
|
filePath: '$(build.sourcesdirectory)\.pipelines\verifyNoticeMdAgainstNugetPackages.ps1'
|
|
arguments: -path '$(build.sourcesdirectory)\'
|
|
pwsh: true
|