release workflow
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 1.2k
- Forks
- 291
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 18
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.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review the proposed Ship.js commands, ship.config.js, CHANGELOG, and the existing Circle CI setup. Determine how prepare and trigger would fit the repository's release process, then verify that the workflow can create a reviewed release pull request and publish the package with a tag and GitHub release after merging.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git, github, typescript
- Domain
- build-system, ci-cd, release
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100