Please follow our Git conventions for naming your branches and commits.
Please fill in the description following the template.
-
Each merged PR should be labeled with one of the labels named
tag: ...
to indicate what kind of change it is. -
Start off from branch
v2-dev
. Pull latest changes. -
Create a new branch
chore/release-
and add the release version number. Follow samechore/
branching pattern for small tweaks on the release if necessary. (such as spelling corrections in documentation) -
Create a change log entry for the release:
- You'll need an access token for the GitHub API. See lerna documentation for more information about it (including needed permissions).
- Save the token to this environment variable:
export GITHUB_AUTH="..."
- Run
npm run changelog
. The command will find all the labeled pull requests merged since the last release and create a change log entry with all the changes and links to PRs and their authors. - Copy and paste the output from the changelog generator to
CHANGELOG.md
. - Paste the same contents to
src/website/src/pages/{system}/whats-new/index.md
. Remove the mentions and the committers. - For older releases before v2, ensure to edit also main
README.md
file.
-
Increment packages version:
- Make sure the version number in
lerna.json
is set to the last version published (so for instance to release version2.25
, lerna version has to be2.24
). - Run
npm run update-version
. It will increment the version number of the updated packages.
- Make sure the version number in
-
Open a pull request with changes you've made from the previous steps. Don't apply any
tag: *
label on it. -
Merge the pull request to
v2-dev
. -
Locally, pull latest
v2-dev
and merge it tov2
. This merge means you can now releasev2
. -
In order to be able to publish packages on
npm
, make sure you are logged in.npm whoami
will show your npm username if you are logged in. Otherwise, please runnpm login
. -
To publish the latest changes run
npm run publish
⚠️ Do not runnpm publish
! -
The CLI will ask for a confirmation about the new package versions. Please verify them carefully before accepting.
-
Once you have accepted, the script will start publishing the packages. Go to your
npm
user profile and organisation@ecl
and double-check packages have actually been published. -
Push the locally-synched
v2
to the remote. This marks the release as complete. -
Finally, create a GitHub Release from branch
v2
, with the following text:- Paste the changelog generated at step 3
- Add "useful links" section (copy from another release and update version number)
-
Once the tag is created, drone will publish the assets on the CDN. It may take a few minutes for everything to be there.
-
Congratulations 👏 the release is done!
-
Final step: Don't forget to update branch
v2-dev
to add new info:- Update the root
README.md
with the new SRI hashes (provided in the release assets) - Set
"version": "2-dev"
back inlerna.json
.
- Update the root