Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release workflow #801

Open
eunjae-lee opened this issue Jul 28, 2021 · 1 comment
Open

release workflow #801

eunjae-lee opened this issue Jul 28, 2021 · 1 comment
Labels
enhancement New feature or request

Comments

@eunjae-lee
Copy link
Contributor

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.

@lmiller1990 lmiller1990 added the enhancement New feature or request label Jul 28, 2021
@lmiller1990
Copy link
Member

lmiller1990 commented Jul 28, 2021

It sounds like ship.js is just a opinionated semantic release tool that has good defaults - this seems pretty reasonable. If you'd like to set it up, happy to try it out and see if it works well for our workflow! Small and frequent releases seems like a good thing. Let me know if you need anything configured from me on my end.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants