docs: Update release instructions

* docs: Update release instructions

* docs: Fix language

Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>

---------

Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>
This commit is contained in:
Joachim Van Herwegen 2024-01-08 09:20:30 +01:00 committed by GitHub
parent 84d64ac1a2
commit 0ad7c19db0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,22 +1,24 @@
# Releasing a new major version # Releasing a new version
This is only relevant if you are a developer with push access responsible for doing a new release. This is only relevant if you are a developer with push access responsible for doing a new release.
Steps to follow: Steps to follow:
* Merge `main` into `versions/next-major`. * **Major** releases only:
* Merge `main` into `versions/next-major`.
* Verify if there are issues when upgrading an existing installation to the new version. * Verify if there are issues when upgrading an existing installation to the new version.
* Can the data still be accessed? * Can the data still be accessed?
* Does authentication still work? * Does authentication still work?
* Is there an issue upgrading any of the dependent repositories (see below for links)? * Is there an issue upgrading any of the dependent repositories (see below for links)?
* None of the above has to be blocking per se, but should be noted in the release notes if relevant. * None of the above has to be blocking per se, but should be noted in the release notes if relevant.
* Verify that the `RELEASE_NOTES.md` are correct. * **Major** and **Minor** releases:
* `npm run release -- -r major` * Verify that the `RELEASE_NOTES.md` are correct.
* Automatically updates Components.js references to the new version. * `npm run release -- -r major/minor/patch`
* Automatically updates Components.js references to the new version in case of a major release.
Committed with `chore(release): Update configs to vx.0.0`. Committed with `chore(release): Update configs to vx.0.0`.
* Updates the `package.json`, and generates the new entries in `CHANGELOG.md`. * Updates the `package.json`, and generates the new entries in `CHANGELOG.md`.
Commits with `chore(release): Release version vx.0.0 of the npm package` Commits with `chore(release): Release version vx.y.z of the npm package`
* Optionally run `npx commit-and-tag-version -r major --dry-run` to preview the commands that will be run * Optionally run `npx commit-and-tag-version -r major/minor/patch --dry-run` to preview the commands that will be run
and the changes to `CHANGELOG.md`. and the changes to `CHANGELOG.md`.
* The `postrelease` script will now prompt you to manually edit the `CHANGELOG.md`. * The `postrelease` script will now prompt you to manually edit the `CHANGELOG.md`.
* All entries are added in separate sections of the new release according to their commit prefixes. * All entries are added in separate sections of the new release according to their commit prefixes.
@ -24,11 +26,12 @@ Steps to follow:
Documentation can be removed. Documentation can be removed.
* Press any key in your terminal when your changes are ready. * Press any key in your terminal when your changes are ready.
* The `postrelease` script will amend the release commit, create an annotated tag and push changes to origin. * The `postrelease` script will amend the release commit, create an annotated tag and push changes to origin.
* Merge `versions/next-major` into `main` and push. * **Major** releases only:
* Merge `versions/next-major` into `main` and push.
* Do a GitHub release. * Do a GitHub release.
* `npm publish` * `npm publish`
* `npm dist-tag add @solid/community-server@x.0.0 next` * If there is no **pre-release** of a higher version:
* Rename the `versions/x.0.0` branch to the next version. * `npm dist-tag add @solid/community-server@x.y.z next`
* Potentially upgrade dependent repositories: * Potentially upgrade dependent repositories:
* Recipes at <https://github.com/CommunitySolidServer/recipes/> * Recipes at <https://github.com/CommunitySolidServer/recipes/>
* Tutorials at <https://github.com/CommunitySolidServer/tutorials/> * Tutorials at <https://github.com/CommunitySolidServer/tutorials/>
@ -40,9 +43,3 @@ Steps to follow:
* Version with `npm run release -- -r major --prerelease alpha` * Version with `npm run release -- -r major --prerelease alpha`
* Do not merge `versions/next-major` into `main`. * Do not merge `versions/next-major` into `main`.
* Publish with `npm publish --tag next`. * Publish with `npm publish --tag next`.
* Do not update the branch or anything related.
## Changes when doing a minor release
* Version with `npm run release -- -r minor`
* Do not merge `versions/next-major` into `main`.