Skip to content

Generates a changelog from commits since the previous release.

License

Notifications You must be signed in to change notification settings

gabe565/changelog-generator

Repository files navigation

Changelog Generator

GitHub release (latest by date) Build Go Report Card Quality Gate Status

A configurable commit-based changelog generator. It finds commits since the previous release, filters them, then groups them.

Generated changelogs look similar to the changelogs generated by GoReleaser, making this action a great fit for projects where another build tool is used.

Usage

GitHub Action

Inputs

Name Description Default
output Generated changelog path.
path Path to the local git repository "."
config Path to the config file. .changelog-generator.yaml
token GitHub token used to fetch release assets. ${{ github.token }}
install-only Installs changelog-generator without running it "false"

Outputs

Name Description
changelog The generated changelog markdown.

Example

name: Release

on:
  push:
    tags:
      - "v*.*.*"

jobs:
  release:
    name: Release
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - name: Generate Changelog
        uses: gabe565/changelog-generator-action@v1
        id: changelog
      - name: Release
        uses: softprops/action-gh-release@v2
        with:
          body: ${{ steps.changelog.outputs.changelog }}

Configuration

Changelog Generator can be configured by committing a file to one of the paths listed below. See the config example for available configuration documentation.

Default Paths

  • .changelog-generator.yaml
  • .github/changelog-generator.yaml
  • .goreleaser.yaml.

Installation

Changelog Generator can also be installed for local generation and previews.

APT (Ubuntu, Debian)

Click to expand
  1. If you don't have it already, install the ca-certificates package

    sudo apt install ca-certificates
  2. Add gabe565 apt repository

    echo 'deb [trusted=yes] https://apt.gabe565.com /' | sudo tee /etc/apt/sources.list.d/gabe565.list
    
  3. Update apt repositories

    sudo apt update
  4. Install changelog-generator

    sudo apt install changelog-generator

RPM (CentOS, RHEL)

Click to expand
  1. If you don't have it already, install the ca-certificates package

    sudo dnf install ca-certificates
  2. Add gabe565 rpm repository to /etc/yum.repos.d/gabe565.repo

    [gabe565]
    name=gabe565
    baseurl=https://rpm.gabe565.com
    enabled=1
    gpgcheck=0
  3. Install changelog-generator

    sudo dnf install changelog-generator

AUR (Arch Linux)

Click to expand

Install changelog-generator-bin with your AUR helper of choice.

Homebrew (macOS, Linux)

Click to expand

Install changelog-generator from gabe565/homebrew-tap:

brew install gabe565/tap/changelog-generator

Manual Installation

Click to expand

Download and run the latest release binary for your system and architecture.