Skip to content

Automate release process #18

@paulRbr

Description

@paulRbr

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 📝 and publish the github release 🚀

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 ...?)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions