Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Commit e099891

Browse files
authored
Enable MicroBuild Signing in CoreClr 2.0.0 (#17937)
* Enable MicroBuild Signing in CoreClr 2.0.0 * Exclude transport packages from signing
1 parent 19b74c1 commit e099891

File tree

2 files changed

+65
-0
lines changed

2 files changed

+65
-0
lines changed

buildpipeline/DotNet-Trusted-Publish.json

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,26 @@
11
{
22
"build": [
3+
{
4+
"environment": {},
5+
"enabled": true,
6+
"continueOnError": false,
7+
"alwaysRun": false,
8+
"displayName": "Install Signing Plugin",
9+
"timeoutInMinutes": 0,
10+
"condition": "and(succeeded(), in(variables.PB_SignType, 'real', 'test'))",
11+
"task": {
12+
"id": "30666190-6959-11e5-9f96-f56098202fef",
13+
"versionSpec": "1.*",
14+
"definitionType": "task"
15+
},
16+
"inputs": {
17+
"signType": "real",
18+
"zipSources": "true",
19+
"version": "",
20+
"feedSource": "https://devdiv.pkgs.visualstudio.com/DefaultCollection/_packaging/MicroBuildToolset/nuget/v3/index.json",
21+
"esrpSigning": "$(PB_UseEsrpSigning)"
22+
}
23+
},
324
{
425
"environment": {},
526
"enabled": true,
@@ -132,6 +153,26 @@
132153
"failOnStandardError": "true"
133154
}
134155
},
156+
{
157+
"environment": {},
158+
"enabled": true,
159+
"continueOnError": false,
160+
"alwaysRun": false,
161+
"displayName": "Sign Packages",
162+
"timeoutInMinutes": 0,
163+
"condition": "and(succeeded(), in(variables.PB_SignType, 'real', 'test'), eq(variables.ConfigurationGroup, 'Release'))",
164+
"task": {
165+
"id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9",
166+
"versionSpec": "1.*",
167+
"definitionType": "task"
168+
},
169+
"inputs": {
170+
"filename": "msbuild",
171+
"arguments": "src\\publish.proj /t:SignPackages /p:SignType=$(PB_SignType) /p:ConfigurationGroup=$(ConfigurationGroup)",
172+
"workingFolder": "$(Pipeline.SourcesDirectory)",
173+
"failOnStandardError": "false"
174+
}
175+
},
135176
{
136177
"environment": {},
137178
"enabled": true,

src/publish.proj

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,30 @@
2525
<PublishPattern Condition="'$(PublishPattern)' == '' and '$(PublishTestNativeBins)' == 'true'">$(OutputPath)\bin\**</PublishPattern>
2626
</PropertyGroup>
2727

28+
<PropertyGroup>
29+
<PackageDownloadDirectory Condition="'$(DownloadDirectory)' == ''">$(PackagesDir)AzureTransfer\$(ConfigurationGroup)</PackageDownloadDirectory>
30+
<FinalPublishPattern>$(PackageDownloadDirectory)\**\*.nupkg</FinalPublishPattern>
31+
<FinalPublishPrivatePattern>$(PackageDownloadDirectory)\**\*Private*.nupkg</FinalPublishPrivatePattern>
32+
<FinalSymbolsPackagesPattern>$(PackageDownloadDirectory)\**\*.symbols.nupkg</FinalSymbolsPackagesPattern>
33+
<FinalTransportPackagesPattern>$(PackageDownloadDirectory)\**\transport*.nupkg</FinalTransportPackagesPattern>
34+
<!-- The SignFiles target needs OutDir to be defined -->
35+
<OutDir>$(PackageDownloadDirectory)</OutDir>
36+
</PropertyGroup>
37+
38+
<Target Name="GetPackagesToSign">
39+
<ItemGroup>
40+
<FilesToSign Include="$(FinalPublishPattern)" Exclude="$(FinalPublishPrivatePattern);$(FinalSymbolsPackagesPattern);$(FinalTransportPackagesPattern)">
41+
<Authenticode>NuGet</Authenticode>
42+
</FilesToSign>
43+
</ItemGroup>
44+
<Message Importance="High" Text="Attempting to sign package '%(FilesToSign.Identity)'" />
45+
</Target>
46+
47+
<Target Name="SignPackages"
48+
Condition="'$(SkipSigning)' != 'true' and '$(SignType)' != 'public'"
49+
DependsOnTargets="GetPackagesToSign;SignFiles">
50+
</Target>
51+
2852
<Target Name="CreateContainerName"
2953
DependsOnTargets="CreateVersionFileDuringBuild"
3054
Condition="'$(ContainerName)' == '' or '$(PublishTestNativeBins)' == 'true'">

0 commit comments

Comments
 (0)