apify-cli
apify-cli copied to clipboard
New release process
Currently, this repository (as most of the non-monorepo repositories) uses the following semi-automatic approach for releasing:
- package.json contains the version of the next release
- dev versions only add a
devsuffix to it - creating new GH release via UI creates a new git tag and triggers stable release via CI (to the version specified in the package.json)
- GH allows generating the release notes automatically, but this only works with PRs, it ignores commits to master, and the CHANGELOG.md file is not updated at all
- a manual version bump is required afterwards to let future dev releases work (otherwise CI fails due to the dev version being behind the stable one)
Prepare a new release process that is more in line with how our monorepos are handled:
- version in package.json should be the current stable one
- dev builds need to do a patch bump on that before they publish
- stable release need to do a bump too - preferrably this would be handled via CI workflow with a dispatch, where you pick the bump (patch/minor/major)
- release notes should be generated based on the commit history
- changelog.md should be updated and a matching git tag with a GH release should be created
- lockfile should be updated automatically
This release process should be universal, as we want to port it to all the other non-monorepo projects.