Release process to be automated
-
Make sure your local master branch is up-to-date
git checkout mastergit fetch upstreamgit reset --hard upstream/master
-
Decide the version number of your next release, depending on the commits included:
- a patch version
X.X.(n+1)when the release includes only bug fixes or small new features - a minor version
X.(n+1).0when the release includes notable new features - a major version
(n+1).0.0when the release introduces breaking changes / major refactoring or changes
- a patch version
-
Package the action with
npm run all -
Git add the changes of the
dist/directory withgit add -u -
Bump the package version with
npm version -f X.Y.Zwith the version decided before -
Publish to Github!
git push --tags upstream master -
Update the “Major” version sliding tag
vNgit tag -d vNgit tag vN mastergit push upstream vN --force
-
Create a new GitHub release with a comprehensive changelog on https://github.com/bump-sh/github-action/releases/new
I’ve had a lot of success with semantic-release for automating release of these smaller packages that you don’t want to have to think about too much or manually release every time you merge a PR.