1
0
Fork 0
mirror of https://github.com/capistrano/capistrano synced 2023-03-27 23:21:18 -04:00
capistrano/RELEASING.md
Matt Brictson e4a85d90e7
Maintain release notes using GitHub Actions (#2034)
This commit sets up a GitHub Actions workflow that uses Release Drafter
to automatically maintain release notes on every push.

In practice this means that contributors no longer have to manually
update the CHANGELOG, which is something that is easy to forget and
often introduces tedious merge conflicts.

Instead, Release Drafter automatically adds the title of the PR to the
GitHub release notes to a draft release, crediting the author of the PR,
and linking to the PR number. Release Drafter furthermore organizes the
release notes into sections according to the labels assigned to the PRs:

- ⚠️ Breaking
- 🐛 Bug Fix
- 📚 Docs
-  Feature
- 🏠 Housekeeping

This also simplifies the release process for maintainers: instead of
manually updating the CHANGELOG, all you have to do is press "publish"
on the release draft on GitHub.

This brings capistrano into parity with the configuration of sshkit.
2019-09-12 07:47:38 -07:00

963 B

Releasing

Prerequisites

  • You must have commit rights to the Capistrano repository.
  • You must have push rights for the capistrano gem on rubygems.org.

How to release

  1. Run bundle install to make sure that you have all the gems necessary for testing and releasing.
  2. Ensure all tests are passing by running rake spec and rake features.
  3. Determine which would be the correct next version number according to semver.
  4. Update the version in ./lib/capistrano/version.rb.
  5. Update the version in the ./README.md Gemfile example (gem "capistrano", "~> X.Y").
  6. Commit the version.rb and README.md changes in a single commit, the message should be "Preparing vX.Y.Z"
  7. Run rake release; this will tag, push to GitHub, and publish to rubygems.org.
  8. Update the draft release on the GitHub releases page to point to the new tag and publish the release