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 GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stalelast commit May 29, 2024
- License
- MIT
Pinned Snippet
uses: cangulo-actions/semver@0c45a94fcc5baed41ca880dfc04727f99ea4a1f3 # 0.14.9tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| configuration | path to the configuration.yml which store the scopes and commit types | no | "" |
| create-gh-release | flag 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. | yes | false |
| github-token | GitHub token for creating GH release | no | — |
| include-previous-non-releasable-commits | flag for including non-release commits in the changelog. Those are commits with release type "none" | no | false |
| print-annotations | flag for printing release details as annotations in the GH workflow | no | false |
| print-summary | flag for printing whole repository release details | yes | false |
| tag-version | flag for tagging the repo version in the release commit | no | true |
| tag-prefix | string 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-name | GH user name for the semver commit | no | github-actions-semver[bot] |
| gh-user-email | GH user email for the semver commit | no | github-actions-semver[bot]@users.noreply.github.com |
Outputs
| name | description |
|---|---|
| new-version-released | flag for detecting if a new version was released |
| version | repository version |
| release-title | release title extracted from the squashed commit title |
| release-type | release type as major, minor or patch |
| release-url | GH release url. Only available if create-gh-release is true |
| commit-id | Commit ID that includes the version file and changelog updated |
| changes | changes parsed: [{type,releaseAssociated,scopes,description,originalCommit}] |
| changelog-record | changelog-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 |
| scopes | Only available if scopes configuration provided. Format: {scopename:{version,changes,changelog-record}} |