guard / listen

The Listen gem listens to file modifications and notifies you about the changes.
https://rubygems.org/gems/listen
MIT License
1.92k stars 246 forks source link

Maintain release notes using GitHub Actions #466

Closed mattbrictson closed 4 years ago

mattbrictson commented 4 years ago

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:

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.

As part of this commit I have documented the release process in README.md and the PR labeling process in CONTRIBUTING.md.

Before merging this PR a project administrator will need to create the following labels using this GitHub page:

Label name Description Color
โš ๏ธ Breaking Introduces a backwards-incompatible change #d12d1b
๐Ÿ› Bug Fix Fixes a bug #c0fc80
๐Ÿ“š Docs Improves documentation #bfdadc
โœจ Feature Adds a new feature #ba1ecc
๐Ÿ  Housekeeping Non-user facing cleanup and maintenance #ccccff
coveralls commented 4 years ago

Coverage Status

Coverage decreased (-0.1%) to 97.806% when pulling 668815356f06f143211111273907139d0cbbc914 on mattbrictson:chores/set-up-release-drafter into cd657cf5d759d6738c090482d986dff5cea5ec12 on guard:master.

ioquatix commented 4 years ago

Okay lets try it!

ioquatix commented 4 years ago

I can't seem to copy the icons in the text labels on Linux, is that a problem?

mattbrictson commented 4 years ago

We don't have to use the icons but the important part is that the label text must exactly match the label: listed in release-drafter.yml.

rymai commented 4 years ago

@mattbrictson Thanks! I've created the labels now!

mattbrictson commented 4 years ago

Great! I am not a maintainer so I am not able to see the draft release notes. Is it working?

mattbrictson commented 4 years ago

The draft release notes should show up at the top of this page: https://github.com/guard/listen/releases

rymai commented 4 years ago

@mattbrictson Yeah it worked but it prepared a draft for the v3.2.0 release which is already released, so I'll update them and publish them manually this time! Thanks again!