-
Notifications
You must be signed in to change notification settings - Fork 818
Expand file tree
/
Copy pathMUX-BuildDevProject-Steps.yml
More file actions
136 lines (121 loc) · 5.48 KB
/
MUX-BuildDevProject-Steps.yml
File metadata and controls
136 lines (121 loc) · 5.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
parameters:
signOutput: false
steps:
- template: MUX-InstallDotNetSDK-Steps.yml
- task: UseDotNet@2
displayName: 'Use .NET 8 SDK'
inputs:
packageType: sdk
version: '8.x'
- template: MUX-InstallWindowsSDK-Steps.yml
- template: MUX-InstallNuget-Steps.yml
- template: MUX-RestorePgo-Steps.yml
- template: MUX-BuildProject-Steps.yml
parameters:
solutionPath: MUXControls.sln
nugetConfigPath: nuget.config
appxPackageDir: $(appxPackageDir)
buildOutputDir: $(buildOutputDir)
publishDir: $(publishDir)
- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
displayName: 'Component Detection'
- task: 333b11bd-d341-40d9-afcf-b32d5ce6f23b@2
displayName: 'NuGet restore MUXExperimental.sln'
inputs:
restoreSolution: MUXExperimental.sln
feedsToUse: config
nugetConfigPath: nuget.config
- task: VSBuild@1
displayName: 'Build solution MUXExperimental.sln'
inputs:
solution: MUXExperimental.sln
vsVersion: 16.0
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
msbuildArgs: '/restore /p:UseInsiderSDK=$(UseInsiderSDK) /p:AppxPackageDir="$(appxPackageDir)" /p:AppxBundle=Never /p:AppxSymbolPackageEnabled=false /binaryLogger:$(Build.SourcesDirectory)/MUXExperimental.sln.$(buildPlatform).$(buildConfiguration).binlog /p:MUXVersionBuild=$(builddate_yymm) /p:MUXVersionRevision=$(builddate_dd)$(buildrevision) /p:VCToolsInstallDir="$(VCToolsInstallDir)\" /p:VCToolsRedistDir="$(VCToolsRedistDir)\"'
- task: PublishBuildArtifacts@1
displayName: 'Publish MUXExperimental.sln binlog'
condition: succeededOrFailed()
inputs:
PathtoPublish: $(Build.SourcesDirectory)/MUXExperimental.sln.$(buildPlatform).$(buildConfiguration).binlog
artifactName: drop
# Copies output from PREfast SDL Native Rules task to expected location for consumption by PkgESSecComp
# These are processed by the Compliance Job (defined in MUX-ComplianceChecks-Job.yml)
# Note, only Debug builds are configured to run the code analysis tool.
- task: CopyFiles@1
displayName: 'Copy nativecodeanalysis xml files'
condition: eq(variables['buildConfiguration'], 'Debug')
inputs:
SourceFolder: '$(buildOutputDir)'
Contents: |
**\*.nativecodeanalysis.xml
TargetFolder: '$(Agent.BuildDirectory)\nativecodeanalysis'
- task: PublishBuildArtifacts@1
displayName: 'Publish artifact: nativecodeanalysis'
condition: eq(variables['buildConfiguration'], 'Debug')
inputs:
PathtoPublish: '$(Agent.BuildDirectory)\nativecodeanalysis'
artifactName: nativecodeanalysis
- ${{ if eq( parameters.signOutput, true) }}:
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@5
displayName: 'CodeSign'
inputs:
ConnectedServiceName: $(WinUI2SigningConnectedServiceName)
AppRegistrationClientId: $(WinUI2SigningAppRegistrationClientId)
AppRegistrationTenantId: $(WinUI2SigningAppRegistrationTenantId)
AuthAKVName: $(WinUI2SigningAuthAKVName)
AuthCertName: $(WinUI2SigningAuthCertName)
AuthSignCertName: $(WinUI2SigningAuthSignCertName)
FolderPath: '$(buildOutputDir)/$(buildConfiguration)/$(buildPlatform)/Microsoft.UI.Xaml'
# Recursively finds files matching these patterns:
Pattern: |
**/Microsoft.UI.Xaml.dll
**/Microsoft.UI.Xaml.winmd
**/Microsoft.Experimental.UI.Xaml.dll
**/Microsoft.Experimental.UI.Xaml.winmd
UseMinimatch: true
signConfigType: inlineSignParams
inlineOperation: |
[
{
"KeyCode" : "CP-230217",
"OperationCode" : "SigntoolSign",
"Parameters" : {
"OpusName" : "Microsoft",
"OpusInfo" : "http://www.microsoft.com",
"FileDigest" : "/fd \"SHA256\"",
"PageHash" : "/NPH",
"TimeStamp" : "/tr \"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\" /td sha256"
},
"ToolName" : "sign",
"ToolVersion" : "1.0"
},
{
"KeyCode" : "CP-230217",
"OperationCode" : "SigntoolVerify",
"Parameters" : {},
"ToolName" : "sign",
"ToolVersion" : "1.0"
}
]
# We only publish symbols to microsoftpublicsymbols for signed builds.
- task: PublishSymbols@2 # Publish symbols to public Microsoft Symbol Server
displayName: 'Publish symbols (public)'
inputs:
SearchPattern: $(buildOutputDir)/$(buildConfiguration)/$(buildPlatform)/**/*.pdb
SymbolServerType: 'TeamServices'
env:
LIB: $(Build.SourcesDirectory)
ArtifactServices_Symbol_AccountName: microsoftpublicsymbols
ArtifactServices_Symbol_PAT: $(WinUILab-Pipeline-PAT)
- task: PublishSymbols@2 # Publish symbols to internal symweb
displayName: 'Publish symbols (internal)'
inputs:
SearchPattern: $(buildOutputDir)/$(buildConfiguration)/$(buildPlatform)/**/*.pdb
SymbolServerType: 'TeamServices'
- template: MUX-MakeFrameworkPackages-Steps.yml
parameters:
buildOutputDir: $(buildOutputDir)
signOutput: ${{parameters.signOutput}}
- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
displayName: 'Component Detection'