fatiando / community

Community resources, guidelines, meeting notes, authorship policy, maintenance, etc.
Other
8 stars 4 forks source link

Release Drafter to help automate #32

Open hugovk opened 4 years ago

hugovk commented 4 years ago

Description of the desired feature

From https://github.com/fatiando/contributing/issues/14:

Maintainers would be responsible for: ...

  1. Making releases. Thanks to our automation, the major work here is compiling the changelog from git history and creating a Zenodo archive. A minor task is merging the PRs in the conda-forge feedstock.

I've been using Release Drafter as a GitHub Action on some projects, and found it helpful to automate compiling the changelog in GitHub releases.

It runs on merges to master, and compiles a draft release with the names of the PRs. And you can use labels to group PRs under subtitles.

An example of the two config files:

Then when you're ready to release, edit the draft to make changes and/or add more info as required, check the version number, and publish.

Let me know if you're interested, and I could help set it up for one repo to see how it goes, and then consider it for other repos too.

Are you willing to help implement and maintain this feature? Yes

welcome[bot] commented 4 years ago

πŸ‘‹ Thanks for opening your first issue here! Please make sure you filled out the template with as much detail as possible.

You might also want to take a look at our Contributing Guide and Code of Conduct.

leouieda commented 4 years ago

That looks really interesting @hugovk! From what I understand, we would have to be diligent in assigning tags to the PRs, is that right?

hugovk commented 4 years ago

It's optional.

If you don't add labels to PRs, they'll all be listed under a common heading.

If you do add labels, they'll be grouped together under their own heading.


Looking at the example from https://github.com/release-drafter/release-drafter#configuration:

name-template: 'v$NEXT_PATCH_VERSION 🌈'
tag-template: 'v$NEXT_PATCH_VERSION'
categories:
  - title: 'πŸš€ Features'
    labels:
      - 'feature'
      - 'enhancement'
  - title: 'πŸ› Bug Fixes'
    labels:
      - 'fix'
      - 'bugfix'
      - 'bug'
  - title: '🧰 Maintenance'
    label: 'chore'
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
template: |
  ## Changes

  $CHANGES

PRs labelled feature, enhancement, fix, bugfix, bug, chore are grouped under their corresponding category title.

PRs with no matching label are grouped under ## Changes.

So it's adaptable for different workflows. Perhaps one project isn't too worried about subheadings. Or prefer to re-arrange things later instead of labelling.

And in any case, it creates a draft, so you always get to edit and shuffle things to your liking, perhaps add more info, it before publishing.

leouieda commented 4 years ago

Alright, we're rolling out Release Drafter on RockHound first to see how it works: fatiando/rockhound#86

Any feedback on that would be welcome.

welcome[bot] commented 4 years ago

πŸ‘‹ Thanks for opening your first issue here! Please make sure you filled out the template with as much detail as possible.

You might also want to take a look at our Contributing Guide and Code of Conduct.