This reusable workflow automatically bumps semantic version tags (X.Y.Z) and generates a categorized changelog on every PR merge, based on PR labels.
Release notes include a compare link.
It utilizes the workflows defined in .github/workflows/release-tag.yml
- Label-driven versioning based on semantic versioning
- Automatic changelog generation
- Auto-tagging with
x.y.zformat - Skips tagging when needed via label
By default, the first release starts at 1.0.0. After that, all new releases are created based on the label applied to the PR.
Before merging a PR, apply one of the following labels to control the version bump:
| Label | Effect on Version | Example Change |
|---|---|---|
| major | Increases major version | 1.2.3 → 2.0.0 |
| minor | Increases minor version | 1.2.3 → 1.3.0 |
| patch | Increases patch version | 1.2.3 → 1.2.4 |
| no-tag | No new tag or release | (skips tagging) |
name: Tag Release
on:
pull_request:
types: [closed]
jobs:
release:
uses: clouddrove/github-shared-workflows/.github/workflows/release-tag.yml@master
with:
target_branch: master
secrets:
GITHUB: ${{ secrets.GITHUB }}