Timo Behrendt 494b88e63f
All checks were successful
CD / Release (push) Successful in 40s
test: add test case testing non-conventional commit messages (#2)
Reviewed-on: #2
Co-authored-by: Timo Behrendt <t.behrendt@t00n.de>
Co-committed-by: Timo Behrendt <t.behrendt@t00n.de>
2025-08-17 23:00:33 +02:00
2025-08-17 22:52:19 +02:00
2025-08-17 22:52:19 +02:00
2025-08-17 22:52:19 +02:00
2025-08-17 22:52:19 +02:00
2025-08-17 22:52:19 +02:00
2025-08-17 22:52:19 +02:00
2025-08-17 22:52:19 +02:00
2025-08-17 20:20:08 +02:00
2025-08-17 22:52:19 +02:00
2025-08-17 22:52:19 +02:00
2025-08-17 22:52:19 +02:00
2025-08-17 22:52:19 +02:00

Conventional Semantic Git Tag Increment

A GitHub Action that automatically increments semantic version tags based on conventional commit messages.

Doesn't assume that you are using any special packaging software, etc. It just relies on Git having tags and commit messages.

Usage

Basic workflow

name: Auto-tag

on:
  push:
    branches: [main]

jobs:
  tag:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - uses: tbehrendt/conventional-semantic-git-tag-increment@v1
        id: tag
        with:
          token: ${{ secrets.GITHUB_TOKEN }}

      - name: Create and push tag
        run: |
          git tag ${{ steps.tag.outputs.new-tag }}
          git push origin ${{ steps.tag.outputs.new-tag }}

With custom last tag

- uses: tbehrendt/conventional-semantic-git-tag-increment@v1
  with:
    last-tag: "v2.1.0"
    token: ${{ secrets.GITHUB_TOKEN }}

Examples

Commit Message Current Tag New Tag Reason
feat: add user authentication v1.0.0 v1.1.0 New feature
fix: resolve login bug v1.1.0 v1.1.1 Bug fix
feat!: change API response format v1.1.1 v2.0.0 Breaking change
docs: update README v2.0.0 v2.0.1 Documentation update

Inputs

  • last-tag (optional): Starting tag to increment from. If not provided, uses the latest tag in the repository.
  • token (required): GitHub token for repository access. Use ${{ github.token }} for public repos or a PAT for private repos.

Outputs

  • new-tag: The incremented semantic version tag (e.g., 1.2.3)
Description
A GitHub Action that automatically increments semantic version tags based on conventional commit messages.
Readme MIT 2 MiB
Languages
TypeScript 99.1%
JavaScript 0.9%