From 658c578c111ce18ff79faf91c0f0247ab6debf6a Mon Sep 17 00:00:00 2001 From: mfkl Date: Thu, 1 Jun 2023 15:37:49 +0700 Subject: [PATCH] add release process (#3) --- .github/workflows/ci.yaml | 1 + Directory.Build.props | 2 ++ docs/release-process.md | 11 +++++++++++ 3 files changed, 14 insertions(+) create mode 100644 docs/release-process.md diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 94c0620..1807ceb 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -41,6 +41,7 @@ jobs: NuGetPackageChecker: if: github.event_name == 'push' || github.event.pull_request.head.repo.id != github.event.pull_request.base.repo.id + needs: NuGetPackageCheckerTests runs-on: ubuntu-latest steps: - name: Checkout diff --git a/Directory.Build.props b/Directory.Build.props index ce3e5ab..e0d2154 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -6,10 +6,12 @@ $(MSBuildThisFileDirectory)artefacts $(MSBuildThisFileDirectory)Monitor.ico Monitor.png + README.md + diff --git a/docs/release-process.md b/docs/release-process.md new file mode 100644 index 0000000..c6a81be --- /dev/null +++ b/docs/release-process.md @@ -0,0 +1,11 @@ +# Release Process + +1. For this project, most of the versioning is handled by Nerdbank.GitVersioning. Check the current live version on NuGet.org and then apply the following accordingly: +- Before releasing a version with a **new feature**, we should **bump the minor version** in `version.json`. +- Before releasing a version with a **breaking change**, we should **bump the major version** in `version.json`. +- If the release neither includes a new feature nor a breaking change, then we do not change the version in `version.json`, because **nbgv already increments the patch version automatically for us**. +2. Head over to the last successful CI build logs on the main branch and retrieve the current exact build version used (X.X.X). +3. Then, draft a new [GitHub Release](https://github.com/G-Research/NuGetPackageChecker/releases) with a list of changes contained in the new version from the [CHANGELOG](https://github.com/G-Research/NuGetPackageChecker/blob/main/CHANGELOG.md). +4. When the draft release is ready, publish it from the GitHub web UI. You can either have GitHub create a new tag for you from the GitHub Release page or push the tag yourself beforehand. It should use the following format: "vX.X.X". +Be aware, clicking **Publish** will trigger GitHub to push a new tag (as specified in the new Release entry, if not created by you already) which will instruct the CI to build and push a new stable release to NuGet.org. +5. If everything went well, congrats, the new versions should be live on NuGet by now. \ No newline at end of file