cangulo-actions/🚀 semver create release

Release versions following semver and conventional commits. Version is calculated in the last squashed commit message. Support GH release creation and release notes. Support for multiple releases per commits scope.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stalelast commit May 29, 2024
License
MIT

Pinned Snippet

workflow.ymlSHA-pinned
uses: cangulo-actions/semver@0c45a94fcc5baed41ca880dfc04727f99ea4a1f3 # 0.14.9

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
configurationpath to the configuration.yml which store the scopes and commit typesno""
create-gh-releaseflag for creating a GH release for the whole repository. tag-version must be true. Make sure the workflow has permissions for creating a GH release or provide a GH token with permissions for doing it. yesfalse
github-tokenGitHub token for creating GH releaseno—
include-previous-non-releasable-commitsflag for including non-release commits in the changelog. Those are commits with release type "none"nofalse
print-annotationsflag for printing release details as annotations in the GH workflownofalse
print-summaryflag for printing whole repository release detailsyesfalse
tag-versionflag for tagging the repo version in the release commitnotrue
tag-prefixstring to be added as prefix to the tag. Used for the repository tag and scopes tags. Only available if tag-version is true. Example: v -> tag: v1.0.0 no""
gh-user-nameGH user name for the semver commitnogithub-actions-semver[bot]
gh-user-emailGH user email for the semver commitnogithub-actions-semver[bot]@users.noreply.github.com
namedescription
new-version-releasedflag for detecting if a new version was released
versionrepository version
release-titlerelease title extracted from the squashed commit title
release-typerelease type as major, minor or patch
release-urlGH release url. Only available if create-gh-release is true
commit-idCommit ID that includes the version file and changelog updated
changeschanges parsed: [{type,releaseAssociated,scopes,description,originalCommit}]
changelog-recordchangelog-record JSON object with title, body and content title -> '# {version} {release title}' body -> 'changes entries listed in grouped and listed by release type in markdown format' content -> title + body
scopesOnly available if scopes configuration provided. Format: {scopename:{version,changes,changelog-record}}