This GitHub Action automatically determinate the next release version to use based on all the Conventional Commits since the latest tag.
name: Deploy
on:
push:
tags:
- v[0-9]+.[0-9]+.[0-9]+
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v2
- name: Get Next Version
id: semver
uses: ietf-tools/semver-action@v1
with:
token: ${{ github.token }}
branch: main
- name: Create Release
uses: ncipollo/release-action@v1
with:
allowUpdates: true
draft: false
name: ${{ steps.semver.outputs.next }}
body: Changelog Contents
token: ${{ github.token }}
Field | Description | Required | Default |
---|---|---|---|
token |
Your GitHub token. (e.g. ${{ github.token }} ) |
✅ | |
branch |
The branch to use when fetching list of commits to compare against. (e.g. main ) |
❌ | main |
majorList |
Comma separated commit prefixes, used to bump Major version. A BREAKING CHANGE note in a commit message will still cause a major bump. |
❌ | |
minorList |
Comma separated commit prefixes, used to bump Minor version. | ❌ | feat, feature |
patchList |
Comma separated commit prefixes, used to bump Patch version. | ❌ | fix, bugfix, perf, refactor, test, tests |
patchAll |
If set to true , will ignore patchList and always count commits as a Patch. |
❌ | false |
Field | Description | Example Value |
---|---|---|
current |
Current version number / latest tag. | v1.1.9 |
next |
Next version number in format v0.0.0 |
v1.2.0 |
nextStrict |
Next version number without the v prefix. |
1.2.0 |
You must already have an existing tag in your repository. The job will exit with an error if it can't find the latest tag to compare against!