Release creation process
Create a new branch for the release, e.g.
release-x.x.x
from themaster
branch.Change the monorepo version
npm run pre-publish x.x.x
. It will change the version in all package.json and generate a Changelog file with all commits' names since the last release. (See the script here)Pick relevant commit message in ./docs/static/ChangelogDiff.txt to put them in ./docs/static/Changelog.md (Reformulate if necessary). Arrange commits in theses sections:
# vx.x.x ## @ud-viz - Examples: - Doc: - CI: ## @ud-viz/frame3d ## @ud-viz/game_browser ....
Run
npm run architecture
. Generate the architecture with js script.Follow the prior PR submission
Push your branch to the main repository (This branch will be used to create the release tag)
Create a PR
Assign yourself to the PR
Have a reviewer approve your PR
Create a Github release (through the GUI):
- Copy the new content given in
Changelog.md
: this duplication doesn't seem to be DRY but the Release comments are hosted by github (and will be lost if you migrate to e.g. gitlab) and are not browsable offline.- You might consider using the "Auto-generate release notes" feature
- Note that creating a Github release creates an underlying git tag (which can previously be created with a git tag)
- Copy the new content given in
Publish the package
To publish the package to npmjs package repository
- Authenticate on npmjs with
npm login --auth-type=legacy
and use the vcity account together with proper credentials. Note:- Ask username and password to login at an admin
- Because the npmjs authentication mode of the
vcity
account is currently configured to One-Time-Password (OTP) over email you will need to be part of thevcity@liris.cnrs.fr
email alias forwarder to receive the OTP and be patient about it (the reception delay can be up to a couple minutes).
npm publish --workspaces --access public
(workspaces
option refer to theworkspaces
field in the package.json).