Paulund

Github Release Template

Github has a feature that will automatically generate the release notes for you based on the tags you create in your repository. This is a great feature to use to keep track of what changes have been made in each release.

This will automatically note down pull request that are part of the next release and any issues that have been closed. You can add tags to these type of pull requests and issues to link them to the release notes.

To use this feature you need to create a new file in the .github folder called release.yml this is a yaml file that will take the following options.

  • changelog.exclude.labels - A list of labels that exclude a pull request from appearing in release notes.
  • changelog.exclude.authors - A list of user or bot login handles whose pull requests are to be excluded from release notes.
  • changelog.categories[*].title - (Required) The title of a category of changes in release notes.
  • changelog.categories[*].labels - (Required) Labels that qualify a pull request for this category. Use * as a catch-all for pull requests that didn't match any of the previous categories.
  • changelog.categories[*].exclude.labels - A list of labels that exclude a pull request from appearing in this category.
  • changelog.categories[*].exclude.authors - A list of user or bot login handles whose pull requests are to be excluded from this category.

Here is an example of a release.yml file.

changelog:
  exclude:
    labels:
      - skip-changelog
    authors:
      - dependabot[bot]
  categories:
    - title: 🚀 Features
      labels:
        - feature
    - title: 🐛 Bug Fixes
      labels:
        - bug
    - title: 🚀 Breaking Changes
      labels:
        - breaking-change
    - title: Other Changes
      labels:
        - "*" # Catch-all for pull requests that didn't match any of the previous categories

Now when you create a new release in Github it will automatically generate the release notes for you based on the tags you have created in your repository.