brunopadz / semver-release-action

GitHub Action to automatically create SemVer compliant releases based on PR labels.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Semver Release Github Action

Before you begin

This project is a fork from K-Phoen/semver-release-action. Since the original author seems busy to keep the project running, this fork is intended to keep the project updated.


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.

Inputs

release_branch

Required Branch to tag. Default "master".

release_strategy

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).

tag_format

Optional Format used to create tags. Default "v%major%.%minor%.%patch%".

tag

Optional Tag to use. If left undefined, it will be computed using the tags already present in the repository.

Outputs

tag

The newly created tag.

Example usage

# .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: brunopadz/semver-release-action@main
        with:
          release_branch: master
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

License

This library is under the MIT license.

About

GitHub Action to automatically create SemVer compliant releases based on PR labels.

License:MIT License


Languages

Language:Go 86.4%Language:Shell 8.0%Language:Makefile 3.8%Language:Dockerfile 1.8%