This actions is an highly opinionated tool that creates changelogs from the git repository commit history.
If no property is set the changelog will be created from the current commit to the previous existing tag or the first commit.
This action is meant to be launched inside a Git repository, thus the current working-directory
must be set accordingly or it will fail.
Because the changelog is generated from commit history, the action will not work as expected with a shallow fetch of the repository.
So the actions/checkout
action's default fetch depth of 1 is not suitable.
Set that action's fetch-depth
input to 0
to fetch the full commit history:
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Create Changelog
uses: arduino/create-changelog@v1
The action accepts some properties:
tag-regex
to pick which tags are taken into consideration to create the changelog, the example below would ignore all tags except those matching it,0.0.1
would be accepted butv0.0.1
or0.0.1-rc
would be ignored. By default any tag is used.
- name: Create Changelog
uses: arduino/create-changelog@v1
with:
tag-regex: '^[0-9]+\.[0-9]+\.[0-9]+$'
filter-regex
to skip certain commmits based on their message, the example below would skip all commits that start with the[skip]
string. By default no commit is skipped.
- name: Create Changelog
uses: arduino/create-changelog@v1
with:
filter-regex: '^\[skip\].*'
changelog-file-path
to select the path and the name of the changelog file to be saved, the example below would save aMyChangelog.md
file to the currentworking-directory
. By defaultCHANGELOG.md
is used.
- name: Create Changelog
uses: arduino/create-changelog@v1
with:
changelog-file-path: 'MyChangelog.md'
case-insensitive-regex
to make bothtag-regex
andfilter-regex
case insensitive, defaults tofalse
.
- name: Create Changelog
uses: arduino/create-changelog@v1
with:
case-insensitive-regex: true
To work on the codebase you have to install all the dependencies:
# npm install
To run tests:
# npm run test
See the official Github documentation to know more about Personal Access Tokens.
npm install
to add all the dependencies, included development.npm run build
to build the Action under the./lib
folder.npm run test
to see everything works as expected.npm run pack
to package for distributiongit add src dist
to check in the code that matters.- open a PR and request a review.
If you think you found a vulnerability or other security-related bug in this project, please read our security policy and report the bug to our Security Team 🛡️ Thank you!
e-mail contact: [email protected]