V3 |
||
|---|---|---|
| .github | ||
| src | ||
| .gitignore | ||
| CHANGELOG.md | ||
| LICENSE | ||
| README.md | ||
| action.yml | ||
| package.json | ||
| test-file.toml | ||
| test-file.yaml | ||
| yarn.lock | ||
README.md
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
git-user-name: The git user.name to use for the commit. DefaultConventional Changelog Action - Optional
git-user-email: The git user.email to use for the commit. Defaultconventional.changelog.action@github.com - Optional
git-pull-method: The git pull method used when pulling all changes from remote. Default--ff-only - Optional
preset: Preset that is used from conventional commits. Defaultangular. - Optional
tag-prefix: Prefix for the git tags. Defaultv. - Optional
output-file: File to output the changelog to. DefaultCHANGELOG.md, when providing'false'no file will be generated / updated. - Optional
release-count: Number of releases to preserve in changelog. Default5, use0to regenerate all. - Optional
version-file: The path to the file that contains the version to bump. Default./package.json. - Optional
version-path: The place inside the version file to bump. Defaultversion. - Optional
skip-on-empty: Boolean to specify if you want to skip empty release (no-changelog generated). This case occured when you pushchorecommit withangularfor example. Default'false'. - Optional
skip-version-file: Do not update the version file. Default'false'. - Optional
skip-commit: Do create a release commit. 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
- name: Conventional Changelog Action
uses: TriPSs/conventional-changelog-action@v3
with:
github-token: ${{ secrets.github_token }}
Overwrite everything
- name: Conventional Changelog Action
uses: TriPSs/conventional-changelog-action@v3
with:
github-token: ${{ secrets.github_token }}
git-message: 'chore(release): {version}'
git-user-name: 'Awesome Changelog Action'
git-user-email: 'awesome_changelog@github.actions.com'
preset: 'angular'
tag-prefix: 'v'
output-file: 'MY_CUSTOM_CHANGELOG.md'
release-count: '10'
version-file: './my_custom_version_file.json' // or .yml, .yaml, .toml
version-path: 'path.to.version'
skip-on-empty: 'false'
skip-version-file: 'false'
skip-commit: 'false'
No file changelog
- name: Conventional Changelog Action
uses: TriPSs/conventional-changelog-action@v3
with:
github-token: ${{ secrets.github_token }}
output-file: 'false'
Tag only
- name: Conventional Changelog Action
uses: TriPSs/conventional-changelog-action@v3
with:
github-token: ${{ secrets.github_token }}
skip-commit: 'true'
Use a custom file for versioning
- name: Conventional Changelog Action
uses: TriPSs/conventional-changelog-action@v3
with:
github-token: ${{ secrets.github_token }}
version-file: 'my-custom-file.yaml'
Github releases
- name: Conventional Changelog Action
id: changelog
uses: TriPSs/conventional-changelog-action@v3
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 }}
Development
If you'd like to contribute to this project, all you need to do is clone and install act this project and run:
Make sure that
main: 'src/index.js'is updated tomain: '../src/index.js'inside theaction.ymlNote: The image used is 18 gb!
$ yarn install
# To run / test json versioning
$ act -j test-json -P ubuntu-latest=nektos/act-environments-ubuntu:18.04 -s github_token=fake-token
# To run / test git versioning
$ act -j test-git -P ubuntu-latest=nektos/act-environments-ubuntu:18.04 -s github_token=fake-token
# To run / test yaml versioning
$ act -j test-yaml -P ubuntu-latest=nektos/act-environments-ubuntu:18.04 -s github_token=fake-token
# To run / toml git versioning
$ act -j test-toml -P ubuntu-latest=nektos/act-environments-ubuntu:18.04 -s github_token=fake-token
License
Conventional Changelog Action is MIT licensed.
Collaboration
If you have questions or issues, please open an issue!