From 5ab9edc319219d0cf59191c0e67947f27e3f1a2a Mon Sep 17 00:00:00 2001 From: Matthijs van der Burgh Date: Wed, 29 Nov 2023 09:19:10 +0100 Subject: [PATCH] Release process document (#570) * add release todos description * change the numbering * make it bigger * add numbers * dropping bower section. Installation and version bumping for bower will remain until it is fully deprecated. * Update tagging process * update more comments * (RELEASE.md) fix typo * (RELEASE.md) Add instructions about GH release and npm publish * (RELEASE) run markdownlint * (RELEASE) update jsdoc info * (RELEASE) remove step to temp bump version to X-snapshot * (RELEASE) add GH release step * Update release instructions --------- Co-authored-by: Jihoon Lee --- RELEASE.md | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 RELEASE.md diff --git a/RELEASE.md b/RELEASE.md new file mode 100644 index 000000000..c7729d48e --- /dev/null +++ b/RELEASE.md @@ -0,0 +1,49 @@ +# Robot Web Tools Module Release TODOs + +This document describes TODOs and checklists in order to release +Robot Web Tool javascript modules([roslibjs](https://github.com/RobotWebTools/roslibjs), [ros2djs](https://github.com/RobotWebTools/ros2djs), [ros3djs](https://github.com/RobotWebTools/ros3djs)). + +## 0. Make sure that the releasing module is compatible with other RWT modules + +## 1. Generate CHANGELOG using [github-changes](https://github.com/lalitkapoor/github-changes) + +```bash +github-changes -o RobotWebTools -r roslibjs --only-pulls --use-commit-body -a -b develop +``` + +## 2. Bump a new version + +* Version bump in package.json, bower.json, and in the main file. e.g) [RosLib.js](src/RosLib.js) +* Mark *upcoming* in CHAGELOG.md as the new release version +* Tag the version + +## 3. Release modules + +### NPM + +Publish the module. We publish in the global scope. + +* `npm publish` + +### CDN + +Hosted via the [JsDelivr](https://www.jsdelivr.com/) CDN, which takes it directly from the repo. + +## 4. Create GitHub Release + +* Create a new GitHub release based on the new git tag. +* Add the version number as release title (Without leading `v`). +* Let GitHub auto-generate the Changelog +* Mark `Set as latest release` +* Publish release + +## 5. Update JSdocs in Robot Web Tools website + +The JSdocs are update automatically by GitHub Actions [config](.github/workflows/docs.yml). The GitHub release created above, will trigger this run. The docs are hosted in their own repository at the `gh-pages` branch. + +## 6. Sync `develop` branch with `master` + +`Master` branch should represent the latest release. + +* Create a PR against `master` from `develop` +* Do *Rebase and merge* to have the same history as `develop` branch