agilecustoms/Consistent Release

Secure, repeatable releases to AWS and npm with semantic versioning, self-service releases and multi‑artifact support

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit May 31, 2026
License
MIT

Pinned Snippet

workflow.ymlSHA-pinned
uses: agilecustoms/release@339dfe41cd1c8756b27d65c2c8a078d8e3189a8b # v5.3.1

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

namedescriptionrequireddefault
aws-accountAWS account to publish artifacts to. Not needed if there are no artifacts, just git tagno
aws-regionAWS regionno
aws-roleIAM role to assume to publish, e.g., `ci/publisher`no
aws-codeartifact-domainCodeArtifact domain name, e.g., `mycompany`no
aws-codeartifact-repositoryCodeArtifact repository name, e.g., `maven`nomaven
aws-codeartifact-mavenTwo possible values: build and publish. publish - publish maven artifacts to AWS CodeArtifact, build - just access CodeArtifact to update version in pom.xmlno
aws-ecrIf true, then push docker image to ECRno
aws-s3-bucketRequired if uploading to S3 (i.e. s3/ directory exists)no
aws-s3-dirAllows you to specify S3 bucket directory to upload artifacts to. By default, just place in `bucket/{repo-name}/{version}/*`no
changelog-fileChangelog file path. Pass empty string to disable changelog generationnoCHANGELOG.md
changelog-titleTitle of the changelog file (first line of the file)no# Changelog
dev-branch-prefixAllows you to enforce branch prefix for dev-releases; this helps to write auto-disposal rules. Empty string disables enforcementnofeature/
dev-releaseAllows you to create a temporary named release, mainly for dev testing. Implementation is different for all supported artifact typesnofalse
floating-tagsWhen the next version to be released is 1.2.4, then also release 1, 1.2, and latest. Not desired for public terraform modulesnotrue
java-cacheEnabled by default, specify empty string to disable cachingnomaven
java-cache-dependency-pathsee https://github.com/actions/setup-java "cache-dependency-path"no
java-distributionJava distribution, use Temurin as it is pre-cached in ubuntu-latestnotemurin
java-versionJava version to useno21
npm-publishIf true, then publish package to npmjs.com registrynofalse
npm-visibilityUsed together with input `npm-publish`. Specifies package visibility: public or privatenopublic
python-versionPython version. Not in use right nowno3.13
pre-publish-scriptShell script that allows you to update version in custom file(s), not only files governed by build tool (pom.xml, package.json, etc)no
release-branchessemantic-release "branches" configurationno
release-channelRepeat `.releaserc.json` `channel` behavior when set `version` explicitlyno
release-ghIf true, then create a GitHub release with the same name as the tagnotrue
release-pluginssemantic-release plugins configurationno
summaryText to print in step summary. Can use `${version}` placeholder. Default is `### Released ${version}`. Set empty string to omit summary generationno### Released ${version}
tag-formatBy default, the tag (version) has format `v1.0.0`. Use `${version}` to remove `v` prefixno
update-version-in-manifestUpdate version in language-specific manifest files (e.g., pom.xml, package.json, pyproject.toml)notrue
versionExplicit version to use instead of auto-generationno
version-bumpAllows you to bump a version without conventional commitsno
namedescription
versionNewly released version