Automate release process
- Dominant language
- TypeScript
- Stars
- 71
- Forks
- 9
- Avg merge
- 7m
- Merged PRs (30d)
- 4
Description
For now, if you wish to publish a new release of the CLI you need to:
1. `git checkout main`
1. `npm run release` for a full release (or `npm run release -- --tag beta` for a prerelease where `--tag` is the [dist tag](https://docs.npmjs.com/cli/v7/commands/npm-dist-tag) of your choice)
1. The script above will prompt for the version upgrade you desire (patch, minor or major)
1. 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`
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)
1. 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 ...?)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.