Description
Maintaining an open source library is a thing, but releasing the changes is another thing not to forget about.
I'd like to suggest a release workflow that we use for InstantSearch.js at Algolia. It's done by a homemade tool named Ship.js.
While semantic-release is a great tool and releases the library fully automatically, Ship.js gives you a little bit of control. Let's assume it's already setup in VTU repo.
If you run shipjs prepare
, it will create a release pull-request like this. It includes the changes like bumping the version and updating changelog. It automatically requests for review to those configured in ship.config.js
. In the PR, you can update the CHANGELOG if you want. Once approved and merged, now the CI kicks in and it will run shipjs trigger
command. And it will release to NPM, creates a git tag, and a release on GH too.
What we do in the InstantSearch team is to automate shipjs prepare
command. So Circle CI runs it for us every Tuesday morning. We do nothing, just receive a release PR every Tuesday, review and merge it.
Let me know if you're interested. I can make a PR to add this.
If you're not interested, I can still make a PR to add semantic-release.