Skip to content

GitHub Action to calculate the next release version based conventional commits

License

Notifications You must be signed in to change notification settings

HRADigital/semver-action

 
 

Repository files navigation

Semver Github Action

Release License

Semver Conventional Commits - Github Action

This GitHub Action automatically determinate the next release version to use based on all the Conventional Commits since the latest tag.

Example workflow

name: Deploy

on:
  push:
    tags:
      - v[0-9]+.[0-9]+.[0-9]+

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout Code
        uses: actions/checkout@v2

      - name: Get Next Version
        id: semver
        uses: ietf-tools/semver-action@v1
        with:
          token: ${{ github.token }}
          branch: main

      - name: Create Release
        uses: ncipollo/release-action@v1
        with:
          allowUpdates: true
          draft: false
          name: ${{ steps.semver.outputs.next }}
          body: Changelog Contents
          token: ${{ github.token }}

Inputs

Field Description Required Default
token Your GitHub token. (e.g. ${{ github.token }})
branch The branch to use when fetching list of commits to compare against. (e.g. main) main
majorList Comma separated commit prefixes, used to bump Major version.
A BREAKING CHANGE note in a commit message will still cause a major bump.
minorList Comma separated commit prefixes, used to bump Minor version. feat, feature
patchList Comma separated commit prefixes, used to bump Patch version. fix, bugfix, perf, refactor, test, tests
patchAll If set to true, will ignore patchList and always count commits as a Patch. false

Outputs

Field Description Example Value
current Current version number / latest tag. v1.1.9
next Next version number in format v0.0.0 v1.2.0
nextStrict Next version number without the v prefix. 1.2.0

⚠️ Important ⚠️

You must already have an existing tag in your repository. The job will exit with an error if it can't find the latest tag to compare against!

About

GitHub Action to calculate the next release version based conventional commits

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%