aragon / aragon-cli

CLI for creating and publishing Aragon apps
GNU General Public License v3.0
91 stars 79 forks source link

Document release steps #401

Closed kernelwhisperer closed 5 years ago

kernelwhisperer commented 5 years ago

And perhaps automate the release with GH Actions.

We should document how the different packages in this repo are released.

kernelwhisperer commented 5 years ago

Starting point:

Publishing

Manual release

Prepare the builds:

  1. git checkout master
  2. git pull
  3. npm run clean
  4. npm install (this will also run npm run build)

Prepare the release notes:

  1. Draft a new release on GitHub: https://github.com/aragon/aragon-cli/releases
  2. Summarize the changes since the last release: https://github.com/aragon/aragon-cli/commits/master

Release:

Note: use npm adduser to authenticate.

  1. Run npm run publish and bump the versions according to the release summary.
  2. Choose the project-wide tag and publish the release.
  3. Make some noise on the #dev channel.

If something went wrong before publishing:

  1. Revert the last commit:
git revert HEAD~ --hard
git push --force
  1. Delete the tags, locally and on the remote, i.e.:
git tag --delete @aragon/cli@5.9.5 create-aragon-app@2.2.3
git push --delete origin @aragon/cli@5.9.5 create-aragon-app@2.2.3

Without lerna

cd packages/aragon-cli
npm version patch
npm publish
# add & commit & tag & create GitHub release

Why? Because using lerna publish updates the lockfiles resulting in a broken release, see 5.9.0.