Based on https://github.com/K-Phoen/semver-release-action
Additions:
- default_increment - default increment bump when label is not found, default
"skip"
- tag_format - allows to use prefix/suffix in the format to manage separate components in monorepo
Automatically create SemVer compliant releases based on PR labels.
Assuming that a PR is tagged with a "semver-compliant" label (patch, minor or major), then this action can create a tag and a GitHub release when it is merged.
Note: to determine the base tag for the increment, this action will try to find the most recent tag complying to SemVer. No additional setup is required.
Required Branch to tag. Default "master"
.
Required Release strategy. Default "release"
(release
: creates a GitHub
release ; tag
: creates a lightweight tag ; none
: computes the next
SemVer version but does not create a release or tag).
Required Default increment (skip/patch/minor/major). Default "skip"
.
Optional Format used to create tags. Default "v%major%.%minor%.%patch%"
.
Optional Tag to use. If left undefined, it will be computed using the tags already present in the repository.
The newly created tag.
# .github/workflows/release.yml
name: Release
on:
pull_request:
types: [closed]
jobs:
build:
runs-on: ubuntu-latest
if: github.event.pull_request.merged
steps:
- name: Tag
uses: krogon/semver-release-action@master
with:
release_branch: master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
This library is under the MIT license.