Skip to content
You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?
tag

GitHub Action

Release with Changelog

v3.0.0

Release with Changelog

tag

Release with Changelog

Create a GitHub relase with changelog for every tag you push

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Release with Changelog

uses: fregante/release-with-changelog@v3.0.0

Learn more about this action in fregante/release-with-changelog

Choose a version

release-with-changelog

Creates reasonable enough GitHub releases for pushed tags, with the commit log as release body.

The action also has customizable release body, that support markdown, and template fields. See template option to see how that works.

By no means is this an action with extensive configurable options except for the ones already provided. But I would love to add some more in the future.

Usage

jobs:
  Release:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
      with:
        fetch-depth: 100
    - uses: notlmn/release-with-changelog@v2
      with:
        header: '### Changelog'
        footer: 'Custom footer'
        include-hash: true
        include-range: true
        token: ${{ secrets.GITHUB_TOKEN }}

Clone depth

The action expects you to do a deep clone of the repository using actions/checkout@v2 in order to get historical commits. You can use fetch-depth: 0 for actions/checkout action to clone entire repository or have a reasonable number like 100 to fetch the last 100 commits.

Inputs

token

Required: Personal access token used to create releases.

template

Default:

{commits}

{range}

Markdown template to be included in release notes. Available replacements:

  • {commits} List of commits for this release, see commit-template below for format of each entry.
  • {range} A link to diff on GitHub between the last and current release.

commit-template

Default: '- {hash} {title}'

Markdown template for each commit entry in release notes. Available replacements:

  • {title} A single line title of the commit.
  • {hash} Abbreviated commit hash, gets linkified automatically in release notes.
  • {url} Plain link to commit on GitHub.

exclude

Default: ''
Example: '^Meta:'

Regex to exclude commits based on their title (don't include the initial and final /).

tag

Default: latest tag available

Specific tag to generate changelog against.

Outputs

None.

License

MIT