initial commit
All checks were successful
CI / Check Dist (pull_request) Successful in 11s
CI / Test (pull_request) Successful in 56s
CI / Dry-Run (pull_request) Successful in 11s

This commit is contained in:
2025-08-17 21:28:44 +02:00
parent 4eefc46a2f
commit 17c1cd8a41
16 changed files with 6804 additions and 1 deletions

View File

@@ -1,2 +1,62 @@
# conventional-semantic-git-tag-increment
# 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
```yaml
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
```yaml
- 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`)