Skip to content

RonaldPhilipsen/semVersie

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

Versie banner

semVersie

[vɛrzi] Is the dutch word for version,

This project calculates semantic-version bumps (major/minor/patch) from conventional-commit style pull requests and can be used in a GitHub Actions workflow to automatically determine the next release version.

We explicitly try to keep things simple by having the user deal with the intricacies of the actual release process, this keeps the action relatively lean and understandable without limiting the useability to a few languages.

Usage (GitHub Actions)

Example workflow snippet that runs the action and exposes the computed version as a job output:

jobs:
  version:
    name: semVersie
    runs-on: ubuntu-latest
    permissions:
      contents: write
    outputs:
      version: ${{ steps.version.outputs.version }}
    steps:
      - name: Calculate version
        id: semVersie
        uses: RonaldPhilipsen/semVersie@vX.Y.Z
        with:
          # Optional: pass build metadata (e.g. commit SHA)
          build-metadata: ${{ github.sha }}

Please note that running this action from a non-fixed version is not supported

Inputs

Input Description Required Default
github-token GitHub token for API access No ${{ github.token }}
build-metadata Build metadata to include in the semver No ``
release-notes-format Format to fill in for the release notes generation No <INSERT_RELEASE_NOTES_HERE> key will be replaced with release notes, example

Note: The github-token input has a default value and typically doesn't need to be specified. If not provided, the action will fall back to local git operations without GitHub API access.

outputs

Output Description Example
release Boolean indicating whether a new release should be created true
release-notes Generated release notes in markdown See example
release-notes-file Generated release notes in markdown, dumped to a file on disk, useful for large release notes
prerelease Boolean indicating whether the created release is a prerelease false
tag The semantic version in tag format, v1.2.3-rc0
version The semantic version in semver format, 1.2.3-rc.0
version-pep-440 The semantic version in pep-440 format, 1.2.3rc0

Development

The project uses Node.js for tests/build. Useful scripts (from package.json):

  • npm run build — build the distribution (ncc)
  • npm test — run tests
  • npm run lint — run ESLint

Contributing

Contributions are welcome. Please open issues or pull requests on the GitHub repository. Follow the conventional commits format for PR titles so the tool can infer versions correctly.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published