cli
cli copied to clipboard
Automate release process
For now, if you wish to publish a new release of the CLI you need to:
-
git checkout main
-
npm run release
for a full release (ornpm run release -- --tag beta
for a prerelease where--tag
is the dist tag of your choice) - The script above will prompt for the version upgrade you desire (patch, minor or major)
- 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>
- 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)
- 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 ...?)