mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-15 11:17:53 +01:00
## Summary of the Pull Request This PR aims for fix some CI build warnings. ## Detailed Description of the Pull Request / Additional comments ### Warning NU1503 Fix warning NU1503 for wix toolset projects marking them as restorable and adding an empty restore target. ### No test result files matching '[ '**/*.trx' ]' were found. Skip publishing of test results for ARM64 since pipeline isn't running ARM64 tests 
298 lines
10 KiB
YAML
298 lines
10 KiB
YAML
parameters:
|
|
- name: additionalBuildArguments
|
|
type: string
|
|
default: ''
|
|
- name: enableCaching
|
|
type: boolean
|
|
default: false
|
|
|
|
steps:
|
|
- checkout: self
|
|
fetchDepth: 1
|
|
submodules: true
|
|
clean: true
|
|
|
|
- task: UseDotNet@2
|
|
displayName: 'Use .NET 6 SDK'
|
|
inputs:
|
|
packageType: sdk
|
|
version: '6.x'
|
|
|
|
- task: PowerShell@2
|
|
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
|
|
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: PowerShell@2
|
|
displayName: Verify and set latest VCToolsVersion usage
|
|
inputs:
|
|
filePath: '$(build.sourcesdirectory)\.pipelines\verifyAndSetLatestVCToolsVersion.ps1'
|
|
pwsh: true
|
|
|
|
- task: UseDotNet@2
|
|
displayName: 'Use .NET 8 SDK'
|
|
inputs:
|
|
packageType: sdk
|
|
version: '8.x'
|
|
includePreviewVersions: true
|
|
|
|
- task: VisualStudioTestPlatformInstaller@1
|
|
displayName: Ensure VSTest Platform
|
|
|
|
- task: Cache@2
|
|
displayName: 'Cache nuget packages (PackageReference)'
|
|
inputs:
|
|
key: '"PackageReference" | "$(Agent.OS)" | Directory.Packages.props'
|
|
restoreKeys: |
|
|
"PackageReference" | "$(Agent.OS)"
|
|
"PackageReference"
|
|
path: $(NUGET_PACKAGES)
|
|
|
|
- task: Cache@2
|
|
displayName: 'Cache nuget packages (packages.config)'
|
|
inputs:
|
|
key: '"packages.config" | "$(Agent.OS)" | **/packages.config'
|
|
restoreKeys: |
|
|
"packages.config" | "$(Agent.OS)"
|
|
"packages.config"
|
|
path: packages
|
|
|
|
- ${{ if eq(parameters.enableCaching, true) }}:
|
|
- task: NuGetToolInstaller@1
|
|
displayName: Install NuGet
|
|
|
|
- script: nuget restore packages.config -SolutionDirectory .
|
|
displayName: 'nuget restore packages.config'
|
|
|
|
- task: VSBuild@1
|
|
displayName: 'Build and Test PowerToys.sln'
|
|
inputs:
|
|
solution: '**\PowerToys.sln'
|
|
vsVersion: 17.0
|
|
platform: '$(BuildPlatform)'
|
|
configuration: '$(BuildConfiguration)'
|
|
${{ if eq(parameters.enableCaching, true) }}:
|
|
msbuildArgs: -restore ${{ parameters.additionalBuildArguments }} -t:Build;Test -graph -reportfileaccesses -p:MSBuildCacheEnabled=true -p:MSBuildCacheLogDirectory=$(Build.ArtifactStagingDirectory)\logs\MSBuildCache -bl:$(Build.ArtifactStagingDirectory)\logs\PowerToys.binlog -ds:false
|
|
${{ else }}:
|
|
msbuildArgs: -restore ${{ parameters.additionalBuildArguments }} -t:Build;Test -graph -bl:$(Build.ArtifactStagingDirectory)\logs\PowerToys.binlog -ds:false
|
|
msbuildArchitecture: x64
|
|
maximumCpuCount: true
|
|
${{ if eq(parameters.enableCaching, true) }}:
|
|
env:
|
|
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
|
|
|
|
- task: VSBuild@1
|
|
displayName: 'Build BugReportTool.sln'
|
|
inputs:
|
|
solution: '**\BugReportTool.sln'
|
|
vsVersion: 17.0
|
|
platform: '$(BuildPlatform)'
|
|
configuration: '$(BuildConfiguration)'
|
|
msbuildArgs: -restore ${{ parameters.additionalBuildArguments }} -graph -bl:$(Build.ArtifactStagingDirectory)\logs\BugReportTool.binlog -ds:false
|
|
msbuildArchitecture: x64
|
|
maximumCpuCount: true
|
|
|
|
- task: VSBuild@1
|
|
displayName: 'Build WebcamReportTool.sln'
|
|
inputs:
|
|
solution: '**\WebcamReportTool.sln'
|
|
vsVersion: 17.0
|
|
platform: '$(BuildPlatform)'
|
|
configuration: '$(BuildConfiguration)'
|
|
msbuildArgs: -restore ${{ parameters.additionalBuildArguments }} -graph -bl:$(Build.ArtifactStagingDirectory)\logs\WebcamReportTool.binlog -ds:false
|
|
msbuildArchitecture: x64
|
|
maximumCpuCount: true
|
|
|
|
- task: VSBuild@1
|
|
displayName: 'Build StylesReportTool.sln'
|
|
inputs:
|
|
solution: '**\StylesReportTool.sln'
|
|
vsVersion: 17.0
|
|
platform: '$(BuildPlatform)'
|
|
configuration: '$(BuildConfiguration)'
|
|
msbuildArgs: -restore ${{ parameters.additionalBuildArguments }} -graph -bl:$(Build.ArtifactStagingDirectory)\logs\StylesReportTool.binlog -ds:false
|
|
msbuildArchitecture: x64
|
|
maximumCpuCount: true
|
|
|
|
- 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 -restore ${{ parameters.additionalBuildArguments }} -bl:$(Build.ArtifactStagingDirectory)\logs\PowerToysSetup-PowerToysInstaller.binlog -ds:false
|
|
msbuildArchitecture: x64
|
|
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 }} -bl:$(Build.ArtifactStagingDirectory)\logs\PowerToysSetup-PowerToysBootstrapper.binlog -ds:false
|
|
clean: false
|
|
msbuildArchitecture: x64
|
|
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: VSBuild@1
|
|
displayName: 'Build PowerToys per-user MSI'
|
|
inputs:
|
|
solution: '**\installer\PowerToysSetup.sln'
|
|
vsVersion: 17.0
|
|
platform: '$(BuildPlatform)'
|
|
configuration: '$(BuildConfiguration)'
|
|
msbuildArgs: /t:PowerToysInstaller -restore ${{ parameters.additionalBuildArguments }} /p:PerUser=true -bl:$(Build.ArtifactStagingDirectory)\logs\PowerToysSetup-PowerToysInstaller-PerUser.binlog -ds:false
|
|
msbuildArchitecture: x64
|
|
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 -bl:$(Build.ArtifactStagingDirectory)\logs\PowerToysSetup-PowerToysBootstrapper-PerUser.binlog -ds:false
|
|
clean: false
|
|
msbuildArchitecture: x64
|
|
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
|
|
|
|
# Publish test results which ran in MSBuild
|
|
- task: PublishTestResults@2
|
|
displayName: 'Publish Test Results'
|
|
inputs:
|
|
testResultsFormat: VSTest
|
|
testResultsFiles: '**/*.trx'
|
|
condition: ne(variables['BuildPlatform'],'arm64')
|
|
|
|
# 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
|
|
**\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: Verify Notice.md and Nuget packages match
|
|
inputs:
|
|
filePath: '$(build.sourcesdirectory)\.pipelines\verifyNoticeMdAgainstNugetPackages.ps1'
|
|
arguments: -path '$(build.sourcesdirectory)\'
|
|
pwsh: true
|
|
|
|
- publish: $(Build.ArtifactStagingDirectory)\logs
|
|
displayName: Publish Logs
|
|
artifact: '$(System.JobDisplayName) logs'
|
|
condition: always()
|
|
|
|
- task: CopyFiles@2
|
|
displayName: Copy Build Files
|
|
condition: and(succeeded(), ne(variables['BuildPlatform'],'arm64'))
|
|
inputs:
|
|
sourceFolder: '$(Build.SourcesDirectory)'
|
|
contents: '$(BuildPlatform)/$(BuildConfiguration)/**/*'
|
|
targetFolder: '$(Build.ArtifactStagingDirectory)\$(BuildPlatform)\$(BuildConfiguration)'
|
|
|
|
- publish: $(Build.ArtifactStagingDirectory)\$(BuildPlatform)\$(BuildConfiguration)
|
|
displayName: Publish Build Artifacts
|
|
artifact: build-$(BuildPlatform)-$(BuildConfiguration)
|
|
condition: and(succeeded(), ne(variables['BuildPlatform'],'arm64'))
|