wakatime / semver-action

Auto-generate the next semantic version.
MIT License
11 stars 0 forks source link
semver

Semantic Versioning Action

Unit Tests master Coverage Status

This action calculates the next version relying on semantic versioning.

Strategies

If auto bump, it will try to extract the closest tag and calculate the next semantic version. If not, it will bump respecting the value passed.

Branch Names

These are the prefixes we expect when auto bump:

Scenarios

Auto Bump

Github Environment Variables

Here are the environment variables we take from Github Actions so far

Example usage

Basic

Uses auto bump strategy to calculate the next semantic version.

- id: semver-tag
  uses: wakatime/semver-action@vlatest
- name: "Created tag"
  run: echo "tag ${{ steps.semver-tag.outputs.semver_tag }}"

Custom

- id: semver-tag
  uses: wakatime/semver-action@vlatest
  with:
    prefix: ""
    prerelease_id: "alpha"
    main_branch_name: "trunk"
    develop_branch_name: "dev"
    debug: "true"
- name: "Created tag"
  run: echo "tag ${{ steps.semver-tag.outputs.semver_tag }}"

Inputs

parameter required description default
bump Bump strategy for semantic versioning. Can be auto, major, minor, patch. auto
base_version Version to use as base for the generation, skips version bumps.
prefix Prefix used to prepend the final version. v
prerelease_id Text representing the prerelease identifier. pre
main_branch_name The main branch name. master
develop_branch_name The develop branch name. develop
repo_dir The repository path. current dir
debug Enables debug mode. false

Outpus

parameter description
semver_tag The calculdated semantic version.
is_prerelease True if calculated tag is prerelease.
previous_tag The tag used to calculate next semantic version.
ancestor_tag The ancestor tag based on specific pattern.