apify-cli icon indicating copy to clipboard operation
apify-cli copied to clipboard

New release process

Open B4nan opened this issue 1 year ago • 0 comments

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 dev suffix 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.

B4nan avatar Feb 28 '24 12:02 B4nan