kas-tle/base-release-action

An action to create incremented releases in a similar style to Jenkins.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Maintainedlast commit Dec 28, 2025
License
AGPL 3.0

Pinned Snippet

workflow.ymlSHA-pinned
uses: kas-tle/base-release-action@b89ab10da9dfaa0b5fb0ca9e77679c7c7d1297f8 # main-18

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

namedescriptionrequireddefault
appIDID of the GitHub App to manage the release system.yes
appPrivateKeyPrivate key of the GitHub App to manage the release system.yes
filesComma-separated or newline-separated list of release files with optional "label:" prefix.yes
discordWebhookDiscord webhook to post the release to.nonone
discussionCategoryThe category to use for the discussion. Defaults to "none" if not specified.nonone
draftReleaseWhether or not the release should be a draft. Defaults to false if not specified.nofalse
ghApiUrlThe GitHub API URL to use. Defaults to the api. plus the repo domain if not specified.noauto
ghReleaseNotesWhether or not to let GitHub auto-generate its release notes. Defaults to false if not specified.nofalse
includeReleaseInfoWhether or not to include the asset hashes in a release.json file. Defaults to true if not specified.notrue
lastCommitThe last commit hash to use for the release. Defaults to the commit that triggered the workflow if not specified.noauto
latestReleaseWhether or not the release should be marked as the latest release. Defaults to auto if not specified, which will be true unless this is a pre-release.noauto
preReleaseWhether or not the release is a pre-release. Inferred by the branch if not specified.noauto
releaseBodyA file containing the body of the release. Defaults to the commit changelog if not specified.noauto
releaseBodyDependencyUsageWhether or not to include the dependency usage in the release body. Defaults to "none" if not specified. Currently accepts "java" or "nodejs".nonone
releaseBodyDependencyJavaArtifactIdThe artifact ID to use for the Java dependency usage.no
releaseBodyDependencyJavaGroupIdThe group ID to use for the Java dependency usage.no
releaseBodyDependencyJavaMavenRepoThe Maven repo to use for Java dependency usage.no
releaseBodyDependencyJavaVersionThe version to use for Java dependency usage.no
releaseBodyDependencyNodejsPackageThe package to use for Node.js dependency usage.no
releaseBodyDependencyNodejsVarNameThe variable name to use for Node.js dependency usage.no
releaseBodyDependencyNodejsVersionThe version to use for Node.js dependency usage.no
releaseChangeLimitThe maximum number of changes to include in the release body. Defaults to 15 if not specified. Set to -1 to include all changes.no15
releaseEnabledWhether or not the release should be created. Defaults to true if not specified.notrue
releaseNameThe title of the release. Defaults to "Build ${tagBase} (${branch})" if not specified.noauto
saveMetadataWhether or not to save the offline release metadata to metadata.json. Defaults to false if not specified.nofalse
tagBaseThe tag base to use for the release. Auto increment from the last tag will be used if not specified.noauto
tagIncrementIf the build tag should be incremented. Defaults to true if not specified and tag is a number.notrue
tagPrefixThe prefix to use for the tag. Defaults to the branch if not specified.noauto
tagSeparatorThe separator to use between the tag prefix and the tag base. Defaults to "-" if not specified.no-
updateReleaseDataWhether or not to update the release data in repository variable storage.notrue
namedescription
releaseIDThe ID of the release.
releaseAPIURLThe API URL of the release.
releaseAssetsURLThe asset URL for the release.
releaseBrowserURLThe browser URL of the release.
tagThe tag of the release.
tagBaseThe base of the tag of the release.
tagPrefixThe prefix of the tag of the release.
tagSeparatorThe separator of the tag of the release.
uploadAssetsURLThe asset upload URL for the release.