auto-changelog
auto-changelog copied to clipboard
Github Automatic Changelog action
Auto Changelog
Automatic Changelog generator
Table of Content
- Usage
- Inputs
- Github Token
- Commit Types
- Default Commit Type
- Release Name
- Release Name Prefix
- Mention Authors
- Mention New Contributors
- Include GitHub Compare Link
- SemVer Compatibility
- Use GitHub Autolink
- Outputs
- Changelog
- Pre-release
- Release ID
- Example Usage
Usage
To use this action, your commit messages have to follow the format below:
type(category): description [flag]
-
The
typemust be one ofcommit-typesinput keys. In the changelog output, the value will be used.The changelogs will be in the same order as
commit-typesinput.If the
typedoesn't match any of the providedcommit-typesinput keys, Thedefault-commit-typeinput will be used instead. -
The
categoryis optional and can be anything of your choice. -
The
flagis 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
flagis not found in the list, it'll be ignored.
Commit messages not matching the format mentioned above will be ignored in the
changelogoutput.
Inputs
github-token
(Optional)
Github token.
Default:
${{ github.token }}
commit-types
(Optional)
Commit types.
The default value is based on the Conventional Commits Specification
Default:
feat : New Features
fix : Bug Fixes
build : Build System & Dependencies
perf : Performance Improvements
docs : Documentation
test : Tests
refactor: Refactors
chore : Chores
ci : CI
style : Code Style
revert : Reverts
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 }}
release-name-prefix
(Optional)
Release name (version) prefix.
Example: For a release name such as
@actions/github/v1.0.0it would be@actions/github/
Default:
""
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-link
(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
include-pr-links
(Optional)
Include GitHub pull request links at each log if applicable.
Default:
true
include-commit-links
(Optional)
Include GitHub commit links at each log.
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
use-github-autolink
(Optional)
Use GitHub Autolink.
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 returnfalse.
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 returnlatest.
Example Usage
Using with default inputs:
- name: Changelog
uses: ardalanamini/auto-changelog@v4
id : changelog
Using with custom inputs:
- name: Changelog
uses: ardalanamini/auto-changelog@v4
id : changelog
with:
github-token : ${{ github.token }}
commit-types : |
feat: New Features
fix: Bug Fixes
build: Build System & Dependencies
perf: Performance Improvements
docs: Documentation
test: Tests
refactor: Refactors
chore: Chores
ci: CI
style: Code Style
revert: Reverts
default-commit-type : Other Changes
release-name : v1.0.0
release-name-prefix : ""
mention-authors : true
mention-new-contributors: true
include-compare-link : true
include-pr-links : true
include-commit-links : true
semver : true
use-github-autolink : true