cynnexis/SemVer Action

This action bumps automatically the version of your project from your workflow.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
actionThe action to perform. Available actions are "bump" (default), "overwrite" and "nothing".nobump
levelThe level of the SemVer to bump.nopatch
overwriteValue of the new version. Honored only if `action` is set to "overwrite".no""
first-versionThe first version to consider in case there are no pre-existing versions.no1.0.0
dry-runIf true, all sensitive operations will be mocked.notrue
version-sourceThe source of where the current version is stored. It can be "semver-tags" (default), "file" or "value".nosemver-tags
version-source-tags-semver-patternThe pattern to filter the tags to only get the semver ones. It is honored only if `version-source` is set to "semver-tags".no^v?\d+\.\d+\.\d+([_.-][a-zA-Z0-9_.+-]+)?$
version-source-fileFile where the current version is stored. It is required to set if `version-source` is set to "file".no""
version-source-valueValue of the current version. It is required to set if `version-source` is set to "value".no""
update-package-jsonIf true, the package.json and package-lock.json files will be updated to set the new version. If no such files exist, it will be ignored.notrue
package-json-pathPath to the package.json path. Its lock file will be assumed to be in the same directory.nopackage.json
git-commit-changesIf true, and that there are changes in the repositories (after updating the package.json file or caused by the drop-in scripts), the action will create a new commit from the changes. Note that the commit will be performed in the current branch.nofalse
git-commit-titleThe commit title. You can use the placeholder `%s` to specify the new version.nochore: bump version
git-commit-descriptionThe commit description. You can use the placeholder `%s` to specify the new version.no- %s created from $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID - [skip ci]
git-commit-add-pathsThe paths to add to the git index, separated by a white-space.no.
git-commit-skip-hooksIf true, the git hooks will be ignored when committing.nofalse
git-commit-pushIf true, the created commit will be pushed to the remote branch.notrue
create-git-tagIf true, the project will be tagged with the new version.nofalse
git-tag-force-creationIf true, the git tag creation will be forced, meaning that any existing tag with the same name will be removed. This is a destructive operation!nofalse
git-tag-formatIf `git-tag` is true, you can specify here the format of the tag, with `%s` being the placeholder holding the new version value.nov%s
git-tag-messageIf `git-tag` is true, you can specify here the message of the tag, with `%s` being the placeholder holding the new version value.no%s Created from $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID
git-tag-pushIf true, the created tag will be pushed to the origin.notrue
create-github-releaseIf true, a new GitHub Release will be created with the new tag. Ignored if `create-git-tag` is false.nofalse
github-release-force-creationIf true, the action will first search if a GitHub Release associated with the same tag exists, and if it does, it will remove it before creating the new GitHub Release. This is a destructive operation!nofalse
github-release-generate-notesIf true, the new GitHub Release name and description will be generated automatically using the GitHub REST API endpoint `repos/OWNER/REPO/releases/generate-notes`. Setting `github-release-name` or `github-release-body` with this parameter set to true will override the automatically-generated content. Fore more information please refer to: https://docs.github.com/en/rest/releases/releases?apiVersion=2026-03-10#generate-release-notes-content-for-a-releasenotrue
github-release-generate-notes-previous-tag-nameThe previous tag name to generate the release notes automatically and compare the versions.no""
github-release-generate-notes-configuration-file-pathPath to the release note generator configuration file. Fore more information, please refer to: https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notesno""
github-release-nameThe name of the GitHub Release. If `github-release-generate-notes` is set to true, then this parameter will override the automatically generated content.no""
github-release-bodyThe body of the GitHub Release. If `github-release-generate-notes` is set to true, then this parameter will override the automatically generated content.no""
github-release-draftIf true, the new GitHub Release will be created as a draft.nofalse
github-release-prereleaseIf true, the new GitHub Release will be created as a pre-release.nofalse
github-release-discussion-category-nameIf set, the new GitHub Release will be associated to the given discussion category name.no""
github-release-make-latestIf true, the new GitHub Release will be marked as the latest release.notrue
github-release-assetsSemicolon-separated list of globstar patterns for uploading files to the GitHub Release.no""
drop-in-scriptsIf true, the action will execute any drop-in scripts found in the drop-in directory.notrue
drop-in-dirThe drop-in directory. Note that it must NOT contain any scripts directly, only sub-directories representing the steps of execution.nosemver-action.d/
drop-in-timeoutTimeout for each drop-in script execution.no""
drop-in-script-check-exit-codeIf true and one of the drop-in script returns a non-zero exit code, the action will fail.notrue
pass-github-token-to-drop-in-scriptsIf true, the given value of `github-token` will be passed to the drop-in scripts.nofalse
write-job-summaryIf true, the action will write a summary to the job to indicate what actions have been performed.nofalse
github-base-api-urlThe base API URL of the GitHub instance.nohttps://api.github.com/
github-tokenOptional GitHub token to use when sending requests to the GitHub REST API. If none is specified, the default `GITHUB_TOKEN` will be used.no""
github-owner-repoThe current repository name formatted as "owner/repo". If not specified, it will default to `GITHUB_REPOSITORY`.no""
namedescription
old-versionThe older version detected before bumping or overwriting it. If `action` is set to `nothing`, then it will be the same as `new-version`. It is empty, it means that there was no version before.
old-version-majorThe older version major detected before bumping or overwriting it. If `action` is set to `nothing`, then it will be the same as `new-version-major`. If it is empty, it means that there was no version before.
old-version-minorThe older version minor detected before bumping or overwriting it. If `action` is set to `nothing`, then it will be the same as `new-version-minor`. If it is empty, it means that there was no version before.
old-version-patchThe older version patch detected before bumping or overwriting it. If `action` is set to `nothing`, then it will be the same as `new-version-patch`. If it is empty, it means that there was no version before.
old-version-prereleaseThe older version prerelease detected before bumping or overwriting it. If `action` is set to `nothing`, then it will be the same as `new-version-prerelease`. If it is empty, it means that there was no version before, or no pre-release in the previous version.
old-version-buildThe older version build detected before bumping or overwriting it. If `action` is set to `nothing`, then it will be the same as `new-version-build`. If it is empty, it means that there was no version before, or no pre-release in the previous version.
old-version-commit-hashThe commit hash where the older version has been generated.
new-versionThe new version after bumping or overwriting it. If `action` is set to `nothing`, then it will be the same as `old-version`.
new-version-majorThe new version major after bumping or overwriting it. If `action` is set to `nothing`, then it will be the same as `old-version-major`.
new-version-minorThe new version minor after bumping or overwriting it. If `action` is set to `nothing`, then it will be the same as `old-version-minor`.
new-version-patchThe new version patch after bumping or overwriting it. If `action` is set to `nothing`, then it will be the same as `old-version-patch`.
new-version-prereleaseThe new version prerelease after bumping or overwriting it. If `action` is set to `nothing`, then it will be the same as `old-version-prerelease`.
new-version-buildThe new version build after bumping or overwriting it. If `action` is set to `nothing`, then it will be the same as `old-version-build`.
new-version-commit-hashThe commit hash where the new version has been generated. It also indicates the commit hash of the new git tag (if input `create-git-tag` is true) and of the new GitHub Release (if input `create-github-release` is true).
github-release-jsonThe JSON representation of the GitHub Release, as specified in the GitHub REST API, if created. For more information, please refer to: https://docs.github.com/en/rest/releases/releases?apiVersion=2026-03-10#get-a-release
github-release-idThe ID of the new GitHub Release, if created.
github-release-nameThe name of the new GitHub Release, if created.
github-release-bodyThe body of the new GitHub Release, if created.
github-release-tag-nameThe tag-name associated to the new GitHub Release, if created. It should be the same as the input `git-tag-format`.
github-release-target-committishThe commit hash associated to the new GitHub Release, if created. It should be the same as the output `new-version-commit-hash`.
github-release-draftIndicates if the new GitHub Release is a draft, if created. It should be the same as the input `github-release-draft`.
github-release-prereleaseIndicates if the new GitHub Release is a pre-release, if created. It should be the same as the input `github-release-prerelease`.
github-release-author-nameThe author name of the new GitHub Release, if created.
github-release-author-emailThe author email of the new GitHub Release, if created.
github-release-urlThe API URL of the new GitHub Release, if created.
github-release-upload-urlThe upload URL of the new GitHub Release, if created. It is useful to upload assets.
github-release-html-urlThe HTML URL of the new GitHub Release for users, if created.
github-release-tarball-urlThe tarball URL of the new GitHub Release to download the source code as tar file, if created.
github-release-zipball-urlThe zipball URL of the new GitHub Release to download the source code as zip file, if created.
github-release-created-atThe creation date and time of the new GitHub Release, if created.
github-release-published-atThe publication date and time of the new GitHub Release, if created.
github-release-num-assetsThe total number of assets available so far in the new GitHub Release, if created.