You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1. Download the compiler artifact manually, check the actual version.
8
7
2. Update the `VersionPrefix` and the `CompilerSha256Hash` in the `PascalABC.NET.Compiler/PascalABC.NET.Compiler.proj`.
9
8
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`.
10
9
4. Update the `_PascalABCNETCompilerPackageVersionPrefix` in the `PascalABC.NET.SDK/Sdk/Sdk.props`.
11
10
5. Create a PR with these changes to the `main` branch.
12
11
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.
4. Make sure there's a properly formed version entry in the `CHANGELOG.md` (often it can be created by renaming the **Unreleased** section).
28
27
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.
0 commit comments