Skip to content

release workflow #801

Open
Open
@eunjae-lee

Description

@eunjae-lee

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions