From c5dcaab1c45867d65f9b060e6e82384620cb57b4 Mon Sep 17 00:00:00 2001 From: Zoran Kokeza Date: Fri, 29 Nov 2024 17:24:49 +0100 Subject: [PATCH] move release guide to separate file --- CHANGES.md | 1 + README.md | 35 ----------------------------------- RELEASE_GUIDE.md | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+), 35 deletions(-) create mode 100644 RELEASE_GUIDE.md diff --git a/CHANGES.md b/CHANGES.md index ab3d9b6b98..a2be5b0c53 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,6 +2,7 @@ #### next release (8.7.11) +- Move release guide from README.md to RELEASE_GUIDE.md4 - [The next improvement] #### 8.7.10 - 2024-11-29 diff --git a/README.md b/README.md index 2867372247..17e87e335a 100644 --- a/README.md +++ b/README.md @@ -92,38 +92,3 @@ Get in touch! - Join the [Github Discussion](https://github.com/TerriaJS/terriajs/discussions) - Raise issues in the [Github issue tracker](https://github.com/TerriaJS/terriajs/issues/new) - -### Publishing TerriaJS - -#### From `main` using GitHub Actions (preferred method): - -- Checkout and pull `main` branch of `terriajs`, run `yarn install` if necessary. -- Bump the version number in `package.json`. -- Review and edit CHANGES.md. - - Ensure that entries for new changes are written in the right section by diffing against the last version. Make sure the section name matches the version you set in `package.json` above. - - e.g. `git diff 8.2.25 HEAD -- CHANGES.md` (where `8.2.25` is the previous published version) - - Or using GitHub web interface https://github.com/TerriaJS/terriajs/compare/8.2.25...main (change the version and master/next to match the previous release and branch) - - Finalise the heading of the version to be released with version number and date. - - Add a heading above for upcoming changes to be documented under. -- Commit and push your changes on a branch and make a PR to `main` branch. -- Get someone to review and merge the PR. -- Wait for slack notification of successful/failed publish. -- 😄 - -#### Publishing to npm without the GitHub Action (not for standard releases): - -This method should not be used to publish versions at the tip of `main` or another branch that is often used for releases. To publish a new version of TerriaJS to npm with this method, you'll need to be listed as a collaborator [here](https://www.npmjs.com/package/terriajs). Existing collaborators can add new ones. Then: - -- Checkout and pull the branch of `terriajs` to be deployed, run `yarn install` if necessary. -- Bump the version number in `package.json`. Follow [semver](http://semver.org/). -- Appropriately update CHANGES.md, ensuring that changes are listed in their correct sections. -- Commit and push your changes and make a PR to the branch to be deployed. -- Get someone to review and merge the PR. -- Fetch and checkout the merge commit made by merging the PR. -- `rm -rf wwwroot/build` -- Make sure you don't have any changes in your working directory. -- `gulp lint release` -- `npm publish --tag your-tag` (for a release not at the tip of `main` a tag must be set, and it must not be `latest` or `next`. For releases on old versions you could use e.g. 6-5-x or 6-x-x as a tag, for upcoming features a short name could be used) -- Ensure that CHANGES.md on `main` is also updated to list the release and clearly note the nature and reason for release. - -The above will publish a new version to npm and also tag that version on GitHub. diff --git a/RELEASE_GUIDE.md b/RELEASE_GUIDE.md new file mode 100644 index 0000000000..0788adb9fd --- /dev/null +++ b/RELEASE_GUIDE.md @@ -0,0 +1,36 @@ +# Release guide + +### Publishing TerriaJS + +#### From `main` using GitHub Actions (preferred method): + +- Checkout and pull `main` branch of `terriajs`, run `yarn install` if necessary. +- Bump the version number in `package.json`. +- Review and edit CHANGES.md. + - Ensure that entries for new changes are written in the right section by diffing against the last version. Make sure the section name matches the version you set in `package.json` above. + - e.g. `git diff 8.2.25 HEAD -- CHANGES.md` (where `8.2.25` is the previous published version) + - Or using GitHub web interface https://github.com/TerriaJS/terriajs/compare/8.2.25...main (change the version and master/next to match the previous release and branch) + - Finalise the heading of the version to be released with version number and date. + - Add a heading above for upcoming changes to be documented under. +- Commit and push your changes on a branch and make a PR to `main` branch. +- Get someone to review and merge the PR. +- Wait for slack notification of successful/failed publish. +- 😄 + +#### Publishing to npm without the GitHub Action (not for standard releases): + +This method should not be used to publish versions at the tip of `main` or another branch that is often used for releases. To publish a new version of TerriaJS to npm with this method, you'll need to be listed as a collaborator [here](https://www.npmjs.com/package/terriajs). Existing collaborators can add new ones. Then: + +- Checkout and pull the branch of `terriajs` to be deployed, run `yarn install` if necessary. +- Bump the version number in `package.json`. Follow [semver](http://semver.org/). +- Appropriately update CHANGES.md, ensuring that changes are listed in their correct sections. +- Commit and push your changes and make a PR to the branch to be deployed. +- Get someone to review and merge the PR. +- Fetch and checkout the merge commit made by merging the PR. +- `rm -rf wwwroot/build` +- Make sure you don't have any changes in your working directory. +- `gulp lint release` +- `npm publish --tag your-tag` (for a release not at the tip of `main` a tag must be set, and it must not be `latest` or `next`. For releases on old versions you could use e.g. 6-5-x or 6-x-x as a tag, for upcoming features a short name could be used) +- Ensure that CHANGES.md on `main` is also updated to list the release and clearly note the nature and reason for release. + +The above will publish a new version to npm and also tag that version on GitHub.