actions-marketplace-validations/Python Semantic Release
Automated Releases via SemVer and Commit Message Conventions
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Maintainedlast commit Jan 6, 2026
- License
- MIT
Pinned Snippet
uses: actions-marketplace-validations/python-semantic-release_python-semantic-release@60b9e54c7bef49d19297e35cd7862cf51af01a8f # no releases — HEAD as of 2026-07-13tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| config_file | Path to a custom semantic-release configuration file. By default, an empty string will look for a pyproject.toml file in the current directory. This is the same as passing the `-c` or `--config` parameter to semantic-release. | no | "" |
| directory | Sub-directory to cd into before running semantic-release | no | . |
| github_token | GitHub token used to push release notes and new commits/tags | yes | — |
| git_committer_name | The human name for the “committer” field | no | — |
| git_committer_email | The email address for the “committer” field | no | — |
| no_operation_mode | If set to true, the github action will pass the `--noop` parameter to semantic-release. This will cause semantic-release to run in "no operation" mode. See the documentation for more information on this parameter. Note that, this parameter will not affect the output of the action, so you will still get the version determination decision as output values. | no | false |
| ssh_public_signing_key | The ssh public key used to sign commits | no | — |
| ssh_private_signing_key | The ssh private key used to sign commits | no | — |
| strict | If set to true, the github action will pass the `--strict` parameter to semantic-release. See the documentation for more information on this parameter. | no | false |
| verbosity | Set the verbosity level of the output as the number of -v's to pass to semantic-release. 0 is no extra output, 1 is info level output, 2 is debug output, and 3 is silly debug level of output. | no | 1 |
| prerelease | Force the next version to be a prerelease. Set to "true" or "false". | no | — |
| prerelease_token | Force the next version to use this prerelease token, if it is a prerelease | no | — |
| force | Force the next version to be a major release. Must be set to one of "prerelease", "patch", "minor", or "major". | no | — |
| commit | Whether or not to commit changes locally. Defaults are handled by python-semantic-release internal version command. | no | — |
| tag | Whether or not to make a local version tag. Defaults are handled by python-semantic-release internal version command. | no | — |
| push | Whether or not to push local commits to the Git repository. See the configuration page for defaults of `semantic-release version` for how the default is determined between push, tag, & commit. | no | — |
| changelog | Whether or not to update the changelog. | no | — |
| vcs_release | Whether or not to create a release in the remote VCS, if supported | no | — |
| build | Whether or not to run the build_command for the project. Defaults are handled by python-semantic-release internal version command. | no | — |
| build_metadata | Build metadata to append to the new version | no | — |
Outputs
| name | description |
|---|---|
| commit_sha | The commit SHA of the release if a release was made, otherwise an empty string |
| is_prerelease | "true" if the version is a prerelease, "false" otherwise |
| link | The link to the release in the remote VCS, if a release was made. If no release was made, this will be an empty string. |
| previous_version | The previous version before the release, if a release was or will be made. If no release is detected, this will be the current version or an empty string if no previous version exists. |
| released | "true" if a release was made, "false" otherwise |
| release_notes | The release notes generated by the release, if any. If no release was made, this will be an empty string. |
| tag | The Git tag corresponding to the version output |
| version | The newly released version if one was made, otherwise the current version |