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

GitHub Action

Auto Changelog

v3.3.0

Auto Changelog

clock

Auto Changelog

Automatic Changelog generator

Installation

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

              

- name: Auto Changelog

uses: ardalanamini/auto-changelog@v3.3.0

Learn more about this action in ardalanamini/auto-changelog

Choose a version

Auto Changelog

Test

Automatic Changelog generator

Table of Content

Usage

To use this action, your commit messages have to follow the format below:

type(category): description [flag]
  • The type must be one of commit-types input keys. In the changelog output, the value will be used.

    The changelogs will be in the same order as commit-types input.

    If the type doesn't match any of the provided commit-types input keys, The default-commit-type input will be used instead.

  • The category is optional and can be anything of your choice.

  • The flag is optional (if provided, it must be surrounded in square brackets) and can be one of the followings:

    • ignore (Omits the commit from the changelog)

    If flag is not found in the list, it'll be ignored.

Commit messages not matching the format mentioned above will be ignored in the changelog output.

Inputs

github-token

(Optional)

Github token.

Default:

${{ github.token }}

commit-types

(Optional)

Commit types.

Default:

breaking: Breaking Changes
feat: New Features
fix: Bug Fixes
revert: Reverts
perf: Performance Improvements
refactor: Refactors
deps: Dependencies
docs: Documentation Changes
style: Code Style Changes
build: Build System
ci: Continuous Integration
test: Tests
chore: Chores
other: Other Changes

default-commit-type

(Optional)

Default commit type.

This input will be used when the commit message matches none of the defined commit-types input.

Default:

Other Changes

release-name

(Optional)

Release name (version, e.g. v1.0.0).

Default:

${{ github.ref_name }}

mention-authors

(Optional)

Mention the author of each commit.

Default:

true

mention-new-contributors

(Optional)

Mention new contributors at the bottom of the changelog (New Contributors).

Default:

true

include-compare

(Optional)

Include GitHub compare at the bottom of the changelog (Full Changelog).

If there is no previous tag determined it'll be ommited regardless of the provided value.

Default:

true

semver

(Optional)

Enable semver based version comparison.

If enabled it'll determine whether the github ref is a valid semver string, it'll fail the action in case it's not.

It'll then determine whether the version is a pre-release or not, if it is, the previous version will be selected from any version (pre-release or not) lesser than the current ref, if current ref is not a pre-release, the previous version will be selected only from the latest version (not pre-release) lesser than the current ref.

Default:

true

Outputs

changelog

The generated changelog.

prerelease

Indicates whether it's a pre-release or not.

if semver is set to true, otherwise this output will always return false.

release-id

The pre-release id in case of prerelease being true, latest otherwise. (e.g. alpha, beta, rc, canary)

if semver is set to true, otherwise this output will always return latest.

Example Usage

Using with default inputs:

- name: Changelog
  uses: ardalanamini/auto-changelog@v3
  id: changelog

Using with custom inputs:

- name: Changelog
  uses: ardalanamini/auto-changelog@v3
  id: changelog
  with:
    github-token: ${{ github.token }}
    commit-types: |
      breaking: Breaking Changes
      feat: New Features
      fix: Bug Fixes
      revert: Reverts
      perf: Performance Improvements
      refactor: Refactors
      deps: Dependencies
      docs: Documentation Changes
      style: Code Style Changes
      build: Build System
      ci: Continuous Integration
      test: Tests
      chore: Chores
      other: Other Changes
    default-commit-type: Other Changes
    release-name: v1.0.0
    mention-authors: true
    mention-new-contributors: true
    include-compare: true
    semver: true