Skip to content

Commit a1b733c

Browse files
committed
Docs: update the information on nuget.org keys
1 parent 5b8205d commit a1b733c

File tree

2 files changed

+24
-4
lines changed

2 files changed

+24
-4
lines changed

MAINTAINERSHIP.md

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,20 @@ PascalABC.NET.SDK Maintainership
33

44
Publishing the Compiler Package
55
-------------------------------
6-
76
1. Download the compiler artifact manually, check the actual version.
87
2. Update the `VersionPrefix` and the `CompilerSha256Hash` in the `PascalABC.NET.Compiler/PascalABC.NET.Compiler.proj`.
98
3. Check if [the license][license] for the compiler was updated; if so, then update the `LicenseCommitHash` and the metadata for every `LicenseArtifact` item in the `PascalABC.NET.Compiler/PascalABC.NET.Compiler.proj`.
109
4. Update the `_PascalABCNETCompilerPackageVersionPrefix` in the `PascalABC.NET.SDK/Sdk/Sdk.props`.
1110
5. Create a PR with these changes to the `main` branch.
1211
6. Ensure the CI works and merge the PR.
13-
7. Trigger the [**Pack the Compiler** workflow][actions.compiler] on GitHub Actions. It will upload the package to nuget.org.
12+
7. Check if the `fvnever.pascalabc.net.sdk.compiler.github` NuGet key is still valid (see the **Rotate NuGet Publishing Keys** section if it isn't).
13+
8. Trigger the [**Pack the Compiler** workflow][actions.compiler] on GitHub Actions. It will upload the package to nuget.org.
1414

1515
[actions.compiler]: https://github.com/ForNeVeR/PascalABC.NET.SDK/actions/workflows/compiler.yml
1616
[license]: https://github.com/pascalabcnet/pascalabcnet/tree/HEAD/doc
1717

1818
Publishing the SDK Package
1919
--------------------------
20-
2120
1. Update the copyright year in the `LICENSE.md`, if required.
2221
2. Choose a new version according to [Semantic Versioning][semver].
2322
3. Update the package version in the following places:
@@ -26,6 +25,25 @@ Publishing the SDK Package
2625
- `PascalABC.NET.SDK.Demo/PascalABC.NET.SDK.Demo.pasproj` (line 1)
2726
4. Make sure there's a properly formed version entry in the `CHANGELOG.md` (often it can be created by renaming the **Unreleased** section).
2827
5. Merge the changes to the `main` branch via a pull request.
29-
6. Push a tag named `v<VERSION>` to GitHub.
28+
6. Check if the `fvnever.pascalabc.net.sdk.github` NuGet key is still valid (see the **Rotate NuGet Publishing Keys** section if it isn't).
29+
7. Push a tag named `v<VERSION>` to GitHub.
30+
31+
Rotate NuGet Publishing Keys
32+
----------------------------
33+
CI relies on NuGet API key being added to the secrets. From time to time, this key requires maintenance: it will become obsolete and will have to be updated.
34+
35+
To update the key:
36+
37+
1. Sign in onto nuget.org.
38+
2. Go to the [API keys][nuget.api-keys] section.
39+
3. Update the existing or create new keys with the following parameters:
40+
- `fvnever.pascalabc.net.sdk.compiler.github` with permission to **Push only new package versions** and only allowed to publish the package **FVNever.PascalABC.NET.Compiler**,
41+
- `fvnever.pascalabc.net.sdk.github` with permission to **Push only new package versions** and only allowed to publish the package **FVNever.PascalABC.NET.SDK**.
42+
43+
44+
(If this is the first publication of a new package, upload temporary short-living keys with permission to add new packages, and rotate them afterward.)
45+
1. Paste the generated keys to the variables, correspondingly, `COMPILER_NUGET_TOKEN` and `SDK_NUGET_TOKEN` on the [action secrets][github.secrets] section of GitHub settings.
3046

47+
[github.secrets]: https://github.com/ForNeVeR/PascalABC.NET.SDK/settings/secrets/actions
48+
[nuget.api-keys]: https://www.nuget.org/account/apikeys
3149
[semver]: https://semver.org/spec/v2.0.0.html

PascalABC.NET.SDK.sln.DotSettings

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
2+
<s:Boolean x:Key="/Default/UserDictionary/Words/=maintainership/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>

0 commit comments

Comments
 (0)