conventional-changelog-action/README.md

82 lines
2.6 KiB
Markdown

# Conventional Changelog action
This action will bump version, tag commit and generate a changelog with conventional commits.
## Inputs
- **Required** `github-token`: Github token.
- **Optional** `git-message`: Commit message that is used when committing the changelog.
- **Optional** `preset`: Preset that is used from conventional commits. Default `angular`.
- **Optional** `tag-prefix`: Prefix for the git tags. Default `v`.
- **Optional** `output-file`: File to output the changelog to. Default `CHANGELOG.md`, when providing `'false'` no file will be generated / updated.
- **Optional** `release-count`: Number of releases to preserve in changelog. Default `5`, use `0` to regenerate all.
- **Optional** `package-json`: The path to the package.json to use. Default `./package.json`.
- **Optional** `skip-on-empty`: Boolean to specify if you want to skip empty release (no-changelog generated). This case occured when you push `chore` commit with `angular` for example. Default `'false'`.
## Outputs
- `changelog`: The generated changelog for the new version.
- `clean_changelog`: The generated changelog for the new version without the version name in it (Better for Github releases)
- `version`: The new version.
- `tag`: The name of the generated tag.
- `skipped`: Boolean (`'true'` or `'false'`) specifying if this step have been skipped
## Example usages
Uses all the defaults
```yaml
- name: Conventional Changelog Action
uses: TriPSs/conventional-changelog-action@v2
with:
github-token: ${{ secrets.github_token }}
```
Overwrite everything
```yaml
- name: Conventional Changelog Action
uses: TriPSs/conventional-changelog-action@v2
with:
github-token: ${{ secrets.github_token }}
git-message: 'chore(release): {version}'
preset: 'angular'
tag-prefix: 'v'
output-file: 'CHANGELOG.md'
release-count: '5'
package-json: './package.json'
skip-on-empty: 'false'
```
No file changelog
```yaml
- name: Conventional Changelog Action
uses: TriPSs/conventional-changelog-action@v2
with:
github-token: ${{ secrets.github_token }}
output-file: 'false'
```
Github releases
```yaml
- name: Conventional Changelog Action
id: changelog
uses: TriPSs/conventional-changelog-action@v2
with:
github-token: ${{ secrets.github_token }}
output-file: 'false'
skip-on-empty: 'true'
- name: Create Release
uses: actions/create-release@v1
if: ${{ steps.changelog.outputs.skipped == 'false' }}
env:
GITHUB_TOKEN: ${{ secrets.github_token }}
with:
tag_name: ${{ steps.changelog.outputs.tag }}
release_name: ${{ steps.changelog.outputs.tag }}
body: ${{ steps.changelog.outputs.clean_changelog }}
```