2019-09-04 18:26:26 +02:00
|
|
|
parameters:
|
|
|
|
|
additionalBuildArguments: ''
|
|
|
|
|
|
|
|
|
|
steps:
|
|
|
|
|
- checkout: self
|
2020-05-14 11:57:58 -07:00
|
|
|
fetchDepth: 1
|
2019-09-04 18:26:26 +02:00
|
|
|
submodules: true
|
|
|
|
|
clean: true
|
|
|
|
|
|
2022-11-24 20:45:51 +01:00
|
|
|
- task: PowerShell@2
|
2023-10-09 16:58:13 +02:00
|
|
|
displayName: Verify XAML formatting
|
|
|
|
|
inputs:
|
|
|
|
|
filePath: '$(build.sourcesdirectory)\.pipelines\applyXamlStyling.ps1'
|
|
|
|
|
arguments: -Passive
|
|
|
|
|
pwsh: true
|
|
|
|
|
|
|
|
|
|
- task: PowerShell@2
|
|
|
|
|
displayName: Verify Nuget package versions for PowerToys.sln
|
2022-11-24 20:45:51 +01:00
|
|
|
inputs:
|
|
|
|
|
filePath: '$(build.sourcesdirectory)\.pipelines\verifyNugetPackages.ps1'
|
|
|
|
|
arguments: -solution '$(build.sourcesdirectory)\PowerToys.sln'
|
|
|
|
|
pwsh: true
|
|
|
|
|
|
2022-08-17 11:35:45 -04:00
|
|
|
- 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
|
|
|
|
|
|
2022-02-07 06:08:30 -08:00
|
|
|
- task: UseDotNet@2
|
2022-12-01 09:40:41 -05:00
|
|
|
displayName: 'Use .NET 7 SDK'
|
2022-02-07 06:08:30 -08:00
|
|
|
inputs:
|
|
|
|
|
packageType: sdk
|
2022-12-01 09:40:41 -05:00
|
|
|
version: '7.x'
|
2022-02-07 06:08:30 -08:00
|
|
|
|
2019-09-04 18:26:26 +02:00
|
|
|
- task: VisualStudioTestPlatformInstaller@1
|
|
|
|
|
displayName: Ensure VSTest Platform
|
|
|
|
|
|
|
|
|
|
- task: VSBuild@1
|
2020-08-06 16:12:20 +03:00
|
|
|
displayName: 'Build PowerToys.sln'
|
2019-09-04 18:26:26 +02:00
|
|
|
inputs:
|
|
|
|
|
solution: '**\PowerToys.sln'
|
2022-02-07 06:08:30 -08:00
|
|
|
vsVersion: 17.0
|
2019-09-04 18:26:26 +02:00
|
|
|
platform: '$(BuildPlatform)'
|
|
|
|
|
configuration: '$(BuildConfiguration)'
|
2023-08-16 12:31:10 -04:00
|
|
|
msbuildArgs: -restore ${{ parameters.additionalBuildArguments }}
|
2022-11-14 10:38:25 -08:00
|
|
|
maximumCpuCount: true
|
2020-04-03 08:12:12 -07:00
|
|
|
|
2020-12-22 12:27:28 +02:00
|
|
|
- task: VSBuild@1
|
|
|
|
|
displayName: 'Build BugReportTool.sln'
|
|
|
|
|
inputs:
|
|
|
|
|
solution: '**\BugReportTool.sln'
|
2022-02-07 06:08:30 -08:00
|
|
|
vsVersion: 17.0
|
2020-12-22 12:27:28 +02:00
|
|
|
platform: '$(BuildPlatform)'
|
|
|
|
|
configuration: '$(BuildConfiguration)'
|
2023-08-16 12:31:10 -04:00
|
|
|
msbuildArgs: -restore ${{ parameters.additionalBuildArguments }}
|
2021-03-30 18:27:42 +03:00
|
|
|
maximumCpuCount: true
|
|
|
|
|
|
|
|
|
|
- task: VSBuild@1
|
|
|
|
|
displayName: 'Build WebcamReportTool.sln'
|
|
|
|
|
inputs:
|
|
|
|
|
solution: '**\WebcamReportTool.sln'
|
2022-02-07 06:08:30 -08:00
|
|
|
vsVersion: 17.0
|
2021-03-30 18:27:42 +03:00
|
|
|
platform: '$(BuildPlatform)'
|
|
|
|
|
configuration: '$(BuildConfiguration)'
|
2023-08-16 12:31:10 -04:00
|
|
|
msbuildArgs: -restore ${{ parameters.additionalBuildArguments }}
|
2020-12-22 12:27:28 +02:00
|
|
|
maximumCpuCount: true
|
|
|
|
|
|
2022-04-27 23:21:00 +03:00
|
|
|
- task: VSBuild@1
|
2022-04-28 12:20:05 +01:00
|
|
|
displayName: 'Build StylesReportTool.sln'
|
2022-04-27 23:21:00 +03:00
|
|
|
inputs:
|
2022-04-28 12:20:05 +01:00
|
|
|
solution: '**\StylesReportTool.sln'
|
2022-04-27 23:21:00 +03:00
|
|
|
vsVersion: 17.0
|
|
|
|
|
platform: '$(BuildPlatform)'
|
|
|
|
|
configuration: '$(BuildConfiguration)'
|
2023-08-16 12:31:10 -04:00
|
|
|
msbuildArgs: -restore ${{ parameters.additionalBuildArguments }}
|
2022-04-27 23:21:00 +03:00
|
|
|
maximumCpuCount: true
|
|
|
|
|
|
2023-01-09 04:27:57 -08:00
|
|
|
- task: PowerShell@2
|
|
|
|
|
displayName: Download and install WiX 3.14 development build
|
|
|
|
|
inputs:
|
|
|
|
|
targetType: filePath
|
|
|
|
|
filePath: '$(build.sourcesdirectory)\.pipelines\installWiX.ps1'
|
|
|
|
|
|
2020-08-06 16:12:20 +03:00
|
|
|
- task: VSBuild@1
|
2023-03-31 12:23:57 +02:00
|
|
|
displayName: 'Build PowerToys per-machine MSI'
|
2020-08-06 16:12:20 +03:00
|
|
|
inputs:
|
|
|
|
|
solution: '**\installer\PowerToysSetup.sln'
|
2022-02-07 06:08:30 -08:00
|
|
|
vsVersion: 17.0
|
2020-08-06 16:12:20 +03:00
|
|
|
platform: '$(BuildPlatform)'
|
|
|
|
|
configuration: '$(BuildConfiguration)'
|
2023-08-16 12:31:10 -04:00
|
|
|
msbuildArgs: /t:PowerToysInstaller -restore ${{ parameters.additionalBuildArguments }}
|
2022-04-05 03:58:03 -05:00
|
|
|
maximumCpuCount: true
|
|
|
|
|
|
|
|
|
|
- task: VSBuild@1
|
2023-03-31 12:23:57 +02:00
|
|
|
displayName: 'Build PowerToys per-machine Bootstrapper'
|
2022-04-05 03:58:03 -05:00
|
|
|
inputs:
|
|
|
|
|
solution: '**\installer\PowerToysSetup.sln'
|
|
|
|
|
vsVersion: 17.0
|
|
|
|
|
platform: '$(BuildPlatform)'
|
|
|
|
|
configuration: '$(BuildConfiguration)'
|
|
|
|
|
msbuildArgs: /t:PowerToysBootstrapper ${{ parameters.additionalBuildArguments }}
|
|
|
|
|
clean: false
|
2020-08-06 16:12:20 +03:00
|
|
|
maximumCpuCount: true
|
|
|
|
|
|
2023-03-31 12:23:57 +02:00
|
|
|
- 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: VSBuild@1
|
|
|
|
|
displayName: 'Build PowerToys per-user MSI'
|
|
|
|
|
inputs:
|
|
|
|
|
solution: '**\installer\PowerToysSetup.sln'
|
|
|
|
|
vsVersion: 17.0
|
|
|
|
|
platform: '$(BuildPlatform)'
|
|
|
|
|
configuration: '$(BuildConfiguration)'
|
2023-08-16 12:31:10 -04:00
|
|
|
msbuildArgs: /t:PowerToysInstaller -restore ${{ parameters.additionalBuildArguments }} /p:PerUser=true
|
2023-03-31 12:23:57 +02:00
|
|
|
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
|
|
|
|
|
|
2023-07-20 00:12:46 +01:00
|
|
|
# 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
|
|
|
|
|
|
2020-08-18 13:19:35 -07:00
|
|
|
# directly not doing WinAppDriver testing
|
2020-04-03 08:12:12 -07:00
|
|
|
- task: VSTest@2
|
2021-03-16 17:29:20 +02:00
|
|
|
displayName: 'MS Tests'
|
2022-05-19 14:02:08 +01:00
|
|
|
condition: ne(variables['BuildPlatform'], 'arm64') # No arm64 agents to run the tests.
|
2020-04-03 08:12:12 -07:00
|
|
|
inputs:
|
|
|
|
|
platform: '$(BuildPlatform)'
|
|
|
|
|
configuration: '$(BuildConfiguration)'
|
|
|
|
|
testSelector: 'testAssemblies'
|
|
|
|
|
testAssemblyVer2: |
|
2021-12-10 11:53:01 +00:00
|
|
|
**\UnitTests-GcodeThumbnailProvider.dll
|
2022-01-25 11:51:37 +00:00
|
|
|
**\UnitTests-StlThumbnailProvider.dll
|
2021-09-16 18:02:50 +01:00
|
|
|
**\UnitTests-PdfThumbnailProvider.dll
|
2021-12-15 12:56:52 +01:00
|
|
|
**\Settings.UI.UnitTests.dll
|
2021-12-10 11:53:01 +00:00
|
|
|
**\UnitTests-GcodePreviewHandler.dll
|
2021-08-26 23:43:26 +02:00
|
|
|
**\UnitTests-PdfPreviewHandler.dll
|
2021-03-16 17:29:20 +02:00
|
|
|
**\UnitTests-PreviewHandlerCommon.dll
|
|
|
|
|
**\Microsoft.PowerToys.Run.Plugin.Registry.UnitTests.dll
|
2020-10-22 19:26:48 -07:00
|
|
|
**\UnitTest-ColorPickerUI.dll
|
2020-12-10 14:11:14 +07:00
|
|
|
**\Microsoft.Interop.Tests.dll
|
2021-01-04 15:25:41 +01:00
|
|
|
**\ImageResizer.Test.dll
|
2021-06-09 10:46:19 +01:00
|
|
|
**\Community.PowerToys.Run.Plugin.UnitConverter.UnitTest.dll
|
2023-07-18 10:44:02 +01:00
|
|
|
**\Community.PowerToys.Run.Plugin.ValueGenerator.UnitTests.dll
|
2021-03-16 17:29:20 +02:00
|
|
|
**\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
|
2022-03-17 20:33:05 +01:00
|
|
|
**\Microsoft.PowerToys.Run.Plugin.System.UnitTests.dll
|
2022-06-28 14:30:03 +01:00
|
|
|
**\Microsoft.PowerToys.Run.Plugin.TimeDate.UnitTests.dll
|
2022-02-07 06:08:30 -08:00
|
|
|
**\Microsoft.Plugin.WindowsTerminal.UnitTests.dll
|
2022-03-07 12:45:29 +01:00
|
|
|
**\Microsoft.Plugin.WindowWalker.UnitTests.dll
|
2022-09-21 16:59:53 +01:00
|
|
|
**\PreviewPaneUnitTests.dll
|
|
|
|
|
**\UnitTests-SvgThumbnailProvider.dll
|
|
|
|
|
**\UnitTests-SvgPreviewHandler.dll
|
2022-10-21 07:55:21 +02:00
|
|
|
**\PowerToys.Hosts.Tests.dll
|
2023-02-24 13:30:30 +00:00
|
|
|
**\MouseJumpUI.UnitTests.dll
|
2021-03-16 17:29:20 +02:00
|
|
|
!**\obj\**
|
2022-01-18 15:52:22 +01:00
|
|
|
!**\ref\**
|
2021-03-16 17:29:20 +02:00
|
|
|
|
2021-01-04 15:25:41 +01:00
|
|
|
# Native dlls
|
|
|
|
|
- task: VSTest@2
|
2022-05-19 14:02:08 +01:00
|
|
|
condition: ne(variables['BuildPlatform'],'arm64') # No arm64 agents to run the tests.
|
2021-03-16 17:29:20 +02:00
|
|
|
displayName: 'Native Tests'
|
2021-01-04 15:25:41 +01:00
|
|
|
inputs:
|
|
|
|
|
platform: '$(BuildPlatform)'
|
|
|
|
|
configuration: '$(BuildConfiguration)'
|
|
|
|
|
testSelector: 'testAssemblies'
|
|
|
|
|
testAssemblyVer2: |
|
2021-04-26 22:01:38 +03:00
|
|
|
**\KeyboardManagerEngineTest.dll
|
|
|
|
|
**\KeyboardManagerEditorTest.dll
|
2021-01-04 15:25:41 +01:00
|
|
|
**\UnitTests-CommonLib.dll
|
2020-12-14 13:10:10 +01:00
|
|
|
**\PowerRenameUnitTests.dll
|
2021-03-16 17:29:20 +02:00
|
|
|
**\powerpreviewTest.dll
|
2022-08-15 16:40:10 +03:00
|
|
|
**\UnitTests-FancyZones.dll
|
2020-08-13 13:51:01 -07:00
|
|
|
!**\obj\**
|
2023-02-14 18:38:53 -08:00
|
|
|
|
|
|
|
|
- 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
|
|
|
|
|
|
2023-01-09 04:27:57 -08:00
|
|
|
- task: PowerShell@2
|
2023-10-09 16:58:13 +02:00
|
|
|
displayName: Verify Notice.md and Nuget packages match
|
2023-01-09 04:27:57 -08:00
|
|
|
inputs:
|
|
|
|
|
filePath: '$(build.sourcesdirectory)\.pipelines\verifyNoticeMdAgainstNugetPackages.ps1'
|
|
|
|
|
arguments: -path '$(build.sourcesdirectory)\'
|
2023-02-14 18:38:53 -08:00
|
|
|
pwsh: true
|