-
Notifications
You must be signed in to change notification settings - Fork 818
Expand file tree
/
Copy pathMUX-CreateNugetPackage-Job.yml
More file actions
95 lines (84 loc) · 3.44 KB
/
MUX-CreateNugetPackage-Job.yml
File metadata and controls
95 lines (84 loc) · 3.44 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
parameters:
# Extract the build revision number from Build.BuildNumber. This is needed to pass to build-nupkg
jobName: ''
buildOutputDir: '$(Build.SourcesDirectory)\BuildOutput'
nupkgdir: '$(build.artifactStagingDirectory)'
# The "primary" build arch is the one that the nuspec gets its winmd, pri, and other neutral files from
primaryBuildArch: x86
buildFlavor: Release
signOutput: false
useReleaseTag: 'false'
prereleaseVersionTag: 'prerelease'
jobs:
- job: ${{ parameters.jobName }}
pool:
${{ if eq(variables['System.CollectionUri'], 'https://dev.azure.com/shine-oss/') }}:
name: WinDevPoolOSS-S
${{ if ne(variables['System.CollectionUri'], 'https://dev.azure.com/shine-oss/') }}:
name: WinDevPool-S
steps:
- template: MUX-PopulateBuildDateAndRevision-Steps.yml
- script: |
echo parameters.jobName '${{ parameters.jobName }}'
echo parameters.buildOutputDir '${{ parameters.buildOutputDir }}'
echo parameters.nupkgdir '${{ parameters.nupkgdir }}'
echo parameters.publishPath '${{ parameters.publishPath }}'
echo buildrevision=$(buildrevision)
echo builddate=$(builddate)
echo useReleaseTag=${{ parameters.useReleaseTag }}
displayName: 'CreateNugetPackage: Display parameters'
- task: DownloadBuildArtifacts@0
inputs:
artifactName: drop
downloadPath: '$(Build.SourcesDirectory)\Artifacts'
- template: MUX-InstallNuget-Steps.yml
- powershell: |
$prereleaseTag = "${{ parameters.prereleaseVersionTag }}"
if ("${{ parameters.useReleaseTag}}" -eq [bool]::TrueString) { $prereleaseTag = "" }
& "$env:Build_SourcesDirectory\build\NuSpecs\build-nupkg.ps1" `
-BuildOutput '$(Build.SourcesDirectory)\Artifacts\drop' `
-OutputDir '${{ parameters.nupkgdir }}' `
-prereleaseversion "$prereleaseTag" `
-DateOverride '$(builddate)' `
-Subversion '$(buildrevision)' `
-BuildArch ${{ parameters.primaryBuildArch }} `
-BuildFlavor ${{ parameters.buildFlavor }}
displayName: 'build-nupkg.ps1'
- ${{ if eq( parameters.signOutput, true) }}:
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@5
displayName: 'CodeSign (nupkg)'
inputs:
ConnectedServiceName: $(WinUI2SigningConnectedServiceName)
AppRegistrationClientId: $(WinUI2SigningAppRegistrationClientId)
AppRegistrationTenantId: $(WinUI2SigningAppRegistrationTenantId)
AuthAKVName: $(WinUI2SigningAuthAKVName)
AuthCertName: $(WinUI2SigningAuthCertName)
AuthSignCertName: $(WinUI2SigningAuthSignCertName)
FolderPath: '${{ parameters.nupkgdir }}'
Pattern: |
**/Microsoft.UI.Xaml*.nupkg
**/Microsoft.Experimental.UI.Xaml*.nupkg
UseMinimatch: true
signConfigType: inlineSignParams
inlineOperation: |
[
{
"KeyCode" : "CP-401405",
"OperationCode" : "NuGetSign",
"Parameters" : {},
"ToolName" : "sign",
"ToolVersion" : "1.0"
},
{
"KeyCode" : "CP-401405",
"OperationCode" : "NuGetVerify",
"Parameters" : {},
"ToolName" : "sign",
"ToolVersion" : "1.0"
}
]
- task: PublishBuildArtifacts@1
displayName: 'Publish artifact: nupkg'
inputs:
PathtoPublish: '${{ parameters.nupkgdir }}'
artifactName: 'drop'