cli icon indicating copy to clipboard operation
cli copied to clipboard

Automate release process

Open paulRbr opened this issue 3 years ago • 1 comments

For now, if you wish to publish a new release of the CLI you need to:

  1. git checkout main
  2. npm run release for a full release (or npm run release -- --tag beta for a prerelease where --tag is the dist tag of your choice)
  3. The script above will prompt for the version upgrade you desire (patch, minor or major)
  4. Then it will do all this for you:
  • Check your in the right place
  • Check the version your trying to publish doesn't exist yet
  • Re-install npm dependencies from scratch
  • Run tests
  • Bump version with npm version ...
  • Publish package on npm
  • Push a git tag v<version>
  1. Wait for the CI to run on the pushed git tag (the CI will create a draft github release with standalone tarballs attached to it)
  2. Edit the newly created draft release to write release notes :memo: and publish the github release :rocket:

Package distribution

With the above process we will only distribute a NPM package + standalone tarballs on the Github Release. For the future we will need to distribute packages in common package managers (Homebrew, .deb, .rpm & .aur, Docker, Nix, Snap ...?)

paulRbr avatar May 10 '21 18:05 paulRbr