Release creation process
Create a new branch for the release, e.g.
release-x.x.xfrom themasterbranch.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=legacyand 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
vcityaccount is currently configured to One-Time-Password (OTP) over email you will need to be part of thevcity@liris.cnrs.fremail 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(workspacesoption refer to theworkspacesfield in the package.json).