Skip to content

Commit

Permalink
Release process document (#570)
Browse files Browse the repository at this point in the history
* 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 <lee@magazino.eu>
  • Loading branch information
MatthijsBurgh and Jihoon Lee authored Nov 29, 2023
1 parent d77d4a2 commit 5ab9edc
Showing 1 changed file with 49 additions and 0 deletions.
49 changes: 49 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 5ab9edc

Please sign in to comment.