1+ name : Release-$(Date:yyyyMMdd)$(Rev:.r)
2+ trigger : none
3+ pr : none
4+
5+ resources :
6+ repositories :
7+ - repository : 1ESPipelines
8+ type : git
9+ name : 1ESPipelineTemplates/1ESPipelineTemplates
10+ ref : refs/tags/release
11+
12+ parameters :
13+ - name : ' esrp'
14+ type : boolean
15+ default : false
16+ displayName : ' Enable ESRP code signing'
17+
18+ variables :
19+ - name : ' esrpConnectionName'
20+ value : ' ESRP-1ESGitClient'
21+ - name : ' esrpEndpointUrl'
22+ value : ' https://api.esrp.microsoft.com/api/v2'
23+ - name : ' esrpClientId'
24+ value : ' TODO'
25+ - name : ' esrpTenantId'
26+ value : ' TODO'
27+ - name : ' esrpAuthAkvName'
28+ value : ' TODO'
29+ - name : ' esrpAuthCertName'
30+ value : ' TODO'
31+ - name : ' esrpAuthSignCertName'
32+ value : ' TODO'
33+
34+ extends :
35+ template : v1/1ES.Official.PipelineTemplate.yml@1ESPipelines
36+ parameters :
37+ stages :
38+ - stage : windows
39+ displayName : ' Windows'
40+ jobs :
41+ - job : win_x86_build
42+ displayName : ' Windows Build and Sign (x86)'
43+ pool :
44+ name : GitClient-1ESHostedPool-intel-pc
45+ image : win-x86_64-ado1es
46+ os : windows
47+ templateContext :
48+ outputs :
49+ - output : pipelineArtifact
50+ targetPath : ' $(Build.ArtifactStagingDirectory)/payload'
51+ artifactName : ' win-x86_payload'
52+ - output : pipelineArtifact
53+ targetPath : ' $(Build.ArtifactStagingDirectory)/installers'
54+ artifactName : ' win-x86_installers'
55+ steps :
56+ - checkout : self
57+ - task : UseDotNet@2
58+ displayName : ' Use .NET 8 SDK'
59+ inputs :
60+ packageType : sdk
61+ version : ' 8.x'
62+ - task : PowerShell@2
63+ displayName : ' Build payload'
64+ inputs :
65+ pwsh : true
66+ targetType : filePath
67+ filePath : ' .\src\windows\Installer.Windows\layout.ps1'
68+ arguments : |
69+ -Configuration Release `
70+ -Output $(Build.ArtifactStagingDirectory)\payload `
71+ -SymbolOutput $(Build.ArtifactStagingDirectory)\symbols
72+ - task : EsrpCodeSigning@5
73+ condition : and(succeeded(), eq('${{ parameters.esrp }}', true))
74+ displayName : ' Sign payload'
75+ inputs :
76+ connectedServiceName : ' $(esrpConnectionName)'
77+ appRegistrationClientId : ' $(esrpClientId)'
78+ appRegistrationTenantId : ' $(esrpTenantId)'
79+ authAkvName : ' $(esrpAuthAkvName)'
80+ authCertName : ' $(esrpAuthCertName)'
81+ authSignCertName : ' $(esrpAuthSignCertName)'
82+ serviceEndpointUrl : ' $(esrpEndpointUrl)'
83+ folderPath : ' $(Build.ArtifactStagingDirectory)\payload'
84+ pattern : ' **\*.exe;**\*.dll'
85+ signConfigType : inlineSignParams
86+ inlineOperation : |
87+ [
88+ {
89+ "keyCode": "TODO",
90+ "operationCode": "SigntoolSign"
91+ "parameters": {
92+ "OpusName": "Microsoft",
93+ "OpusInfo": "http://microsoft.com",
94+ "FileDigest": "/fd \"SHA256\"",
95+ "PageHash": "/NPH",
96+ "Timestamp": "/tr \"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\" /td sha256"
97+ },
98+ "toolName": "sign",
99+ "toolVersion": "1.0"
100+ },
101+ {
102+ "keyCode": "TODO",
103+ "operationCode": "SigntoolVerify",
104+ "parameters": {},
105+ "toolName": "sign",
106+ "toolVersion": "1.0"
107+ }
108+ ]
109+ - task : PowerShell@2
110+ displayName : ' Build installers'
111+ inputs :
112+ pwsh : true
113+ targetType : inline
114+ script : |
115+ dotnet build '.\src\windows\Installer.Windows\Installer.Windows.csproj' `
116+ --configuration Release `
117+ --no-dependencies `
118+ -p:NoLayout=true `
119+ -p:PayloadPath="$(Build.ArtifactStagingDirectory)\payload"
120+ -p:OutputPath="$(Build.ArtifactStagingDirectory)\installers"
121+ - task : EsrpCodeSigning@5
122+ condition : and(succeeded(), eq('${{ parameters.esrp }}', true))
123+ displayName : ' Sign installers'
124+ inputs :
125+ connectedServiceName : ' $(esrpConnectionName)'
126+ appRegistrationClientId : ' $(esrpClientId)'
127+ appRegistrationTenantId : ' $(esrpTenantId)'
128+ authAkvName : ' $(esrpAuthAkvName)'
129+ authCertName : ' $(esrpAuthCertName)'
130+ authSignCertName : ' $(esrpAuthSignCertName)'
131+ serviceEndpointUrl : ' $(esrpEndpointUrl)'
132+ folderPath : ' $(Build.ArtifactStagingDirectory)\installers'
133+ pattern : ' **\*.exe'
134+ signConfigType : inlineSignParams
135+ inlineOperation : |
136+ [
137+ {
138+ "keyCode": "TODO",
139+ "operationCode": "SigntoolSign"
140+ "parameters": {
141+ "OpusName": "Microsoft",
142+ "OpusInfo": "http://microsoft.com",
143+ "FileDigest": "/fd \"SHA256\"",
144+ "PageHash": "/NPH",
145+ "Timestamp": "/tr \"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\" /td sha256"
146+ },
147+ "toolName": "sign",
148+ "toolVersion": "1.0"
149+ },
150+ {
151+ "keyCode": "TODO",
152+ "operationCode": "SigntoolVerify",
153+ "parameters": {},
154+ "toolName": "sign",
155+ "toolVersion": "1.0"
156+ }
157+ ]
0 commit comments