Skip to content

Commit 37f6b8c

Browse files
authored
Sign binaries and nuget packages (#1600)
1 parent d1ca364 commit 37f6b8c

File tree

2 files changed

+38
-30
lines changed

2 files changed

+38
-30
lines changed

Documentation/ReleasePlan.md

+37-29
Original file line numberDiff line numberDiff line change
@@ -85,37 +85,45 @@ This is the steps to release new packages to nuget.org
8585

8686
Do a PR and merge to master.
8787

88-
2. Clone repo, **remember to build packages from master and not from your fork or metadata links will point to your forked repo.** . Run `git log -5` from repo root to verify last commit.
89-
90-
3. From new cloned, aligned and versions updated repo root run pack command
91-
92-
```shell
93-
dotnet pack -c release /p:TF_BUILD=true /p:PublicRelease=true
94-
...
95-
coverlet.console -> D:\git\coverlet\src\coverlet.console\bin\Release\net6.0\coverlet.console.dll
96-
coverlet.console -> D:\git\coverlet\src\coverlet.console\bin\Release\net6.0\publish\
97-
Successfully created package 'D:\git\coverlet\bin\Release\Packages\coverlet.collector.6.0.1-preview.6.g918cd179e0.nupkg'.
98-
Successfully created package 'D:\git\coverlet\bin\Release\Packages\coverlet.collector.6.0.1-preview.6.g918cd179e0.snupkg'.
99-
Successfully created package 'D:\git\coverlet\bin\Release\Packages\coverlet.msbuild.6.0.1-preview.6.g918cd179e0.nupkg'.
100-
Successfully created package 'D:\git\coverlet\bin\Release\Packages\coverlet.msbuild.6.0.1-preview.6.g918cd179e0.snupkg'.
101-
Successfully created package 'D:\git\coverlet\bin\Release\Packages\coverlet.console.6.0.1-preview.6.g918cd179e0.nupkg'.
102-
Successfully created package 'D:\git\coverlet\bin\Release\Packages\coverlet.console.6.0.1-preview.6.g918cd179e0.snupkg'.
103-
```
104-
105-
4. Sign the packages using NuGetKeyVaultSignTool <https://www.nuget.org/packages/NuGetKeyVaultSignTool>
106-
107-
```
108-
❯ NuGetKeyVaultSignTool sign **/*.nupkg --file-digest sha256 --timestamp-rfc3161 http://timestamp.digicert.com --timestamp-digest sha256 `
109-
>> --azure-key-vault-url KEYVAULT-URL `
110-
>> --azure-key-vault-client-id CLIENT-ID `
111-
>> --azure-key-vault-tenant-id TENANT-ID `
112-
>> --azure-key-vault-client-secret KEYVAULT-SECRET `
113-
>> --azure-key-vault-certificate CERT-FRIENDLY-NAME
114-
```
88+
1. Clone repo, **remember to build packages from master and not from your fork or metadata links will point to your forked repo.** . Run `git log -5` from repo root to verify last commit.
89+
90+
1. From new cloned, aligned and versions updated repo root run build command
91+
92+
```shell
93+
dotnet pack -c release /p:TF_BUILD=true /p:PublicRelease=true
94+
...
95+
coverlet.core -> C:\GitHub\coverlet\artifacts\bin\coverlet.core\release_netstandard2.0\coverlet.core.dll
96+
coverlet.core -> C:\GitHub\coverlet\artifacts\bin\coverlet.core\release_net6.0\coverlet.core.dll
97+
coverlet.collector -> C:\GitHub\coverlet\artifacts\bin\coverlet.collector\release_netstandard2.0\coverlet.collector.dll
98+
coverlet.collector -> C:\GitHub\coverlet\artifacts\bin\coverlet.collector\release_net6.0\coverlet.collector.dll
99+
coverlet.msbuild.tasks -> C:\GitHub\coverlet\artifacts\bin\coverlet.msbuild.tasks\release_netstandard2.0\coverlet.msbuild.tasks.dll
100+
coverlet.msbuild.tasks -> C:\GitHub\coverlet\artifacts\bin\coverlet.msbuild.tasks\release_net6.0\coverlet.msbuild.tasks.dll
101+
coverlet.console -> C:\GitHub\coverlet\artifacts\bin\coverlet.console\release\coverlet.console.dll
102+
coverlet.console -> C:\GitHub\coverlet\artifacts\bin\coverlet.console\release\coverlet.console.exe
103+
...
104+
Successfully created package 'C:\GitHub\coverlet\artifacts\package\release\coverlet.msbuild.6.0.1.nupkg'.
105+
Successfully created package 'C:\GitHub\coverlet\artifacts\package\release\coverlet.msbuild.6.0.1.snupkg'.
106+
Successfully created package 'C:\GitHub\coverlet\artifacts\package\release\coverlet.collector.6.0.1.nupkg'.
107+
Successfully created package 'C:\GitHub\coverlet\artifacts\package\release\coverlet.collector.6.0.1.snupkg'.
108+
Successfully created package 'C:\GitHub\coverlet\artifacts\package\release\coverlet.console.6.0.1.nupkg'.
109+
Successfully created package 'C:\GitHub\coverlet\artifacts\package\release\coverlet.console.6.0.1.snupkg'.
110+
...
111+
```
112+
113+
1. Sign nuget packages using sign <https://www.nuget.org/packages/sign>
114+
115+
```powershell
116+
sign code azure-key-vault **/*.nupkg --base-directory [ROOT-DIRECTORY]\artifacts\package\release\ --file-digest sha256 --description Coverlet --description-url https://github.com/coverlet-coverage/coverlet `
117+
--azure-key-vault-url [KEYVAULT-URL] `
118+
--azure-key-vault-client-id [CLIENT-ID] `
119+
--azure-key-vault-tenant-id [TENANT-ID] `
120+
--azure-key-vault-client-secret [KEYVAULT-SECRET] `
121+
--azure-key-vault-certificate [CERT-FRIENDLY-NAME]
122+
```
115123
116-
5. Upload *.nupkg files to Nuget.org site. **Check all metadata(url links, deterministic build etc...) before "Submit"**
124+
1. Upload *.nupkg files to Nuget.org site. **Check all metadata(url links, deterministic build etc...) before "Submit"**
117125
118-
6. **On your fork**:
126+
1. **On your fork**:
119127
* Align to master
120128
* Bump version by one (fix part) and re-add `-preview.{height}`
121129
* Create release on repo <https://github.com/coverlet-coverage/coverlet/releases>

src/coverlet.msbuild.tasks/coverlet.msbuild.tasks.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
</None>
6868
</ItemGroup>
6969

70-
<Target Name="PackBuildOutputs" DependsOnTargets="ResolveProjectReferences;SatelliteDllsProjectOutputGroup;DebugSymbolsProjectOutputGroup;SatelliteDllsProjectOutputGroupDependencies;ResolveAssemblyReferences">
70+
<Target Name="PackBuildOutputs">
7171
<ItemGroup>
7272
<TfmSpecificPackageFile Include="$(TargetPath)" PackagePath="tasks\$(TargetFramework)" />
7373
<TfmSpecificPackageFile Include="$(ProjectDepsFilePath)" PackagePath="tasks\$(TargetFramework)" />

0 commit comments

Comments
 (0)