Action inputs and outputs¶
This page is generated from action.yml by scripts/generate-action-reference.py.
Do not edit this file manually.
Source¶
- Action definition:
action.yml - Generator script:
scripts/generate-action-reference.py
Inputs¶
mode¶
- Required:
false - Default:
release
Description:
ci Build Docker image and push pr-
auth-mode¶
- Required:
false - Default:
public-app
Description:
Token source for git/release operations. One of: public-app (default) Use the Release Runner GitHub App installed on the repository or organization. auto Use private-app when app-id/app-private-key are set, otherwise use github-token/GITHUB_TOKEN. github-token Use github-token or the workflow GITHUB_TOKEN. private-app Generate a token from app-id/app-private-key.
token-broker-url¶
- Required:
false - Default:
https://release-runner.sargeant.workers.dev
Description:
Advanced override for the hosted Release Runner GitHub App auth service. Most repositories should not set this.
oidc-audience¶
- Required:
false - Default:
release-runner
Description:
Advanced override for public-app authentication. Most repositories should not set this.
versioning-tool¶
- Required:
false - Default:
semantic-release-python
Description:
The versioning tool to use. One of: semantic-release-python python-semantic-release v10 (default) semantic-release-npm semantic-release v24 (Node.js / JavaScript) gitversion GitVersion via gittools/actions release-please Google release-please-action v4
deployment-model¶
- Required:
false - Default:
tbd
Description:
Controls how the target environment is determined.
tbd (default) Trunk-Based Development. Pass environment explicitly.
bbd Branch-Based Development. Environment inferred from branch-map.
tbd-pr TBD with PR-based promotion. Environment detected from the merged
promote/* PR head branch.
branch-map¶
- Required:
false - Default:
''
Description:
JSON object mapping branch names to environment names. Only used when deployment-model is bbd. Example: {"dev": "dev", "staging": "staging", "main": "prod"}
promote-branch-prefix¶
- Required:
false - Default:
promote
Description:
Prefix for promotion PR branches (deployment-model: tbd-pr). Example: 'promote' → branch promote/staging/1.2.3-dev.1
promote-target-branch¶
- Required:
false - Default:
main
Description:
Target branch for promotion PRs.
create-promotion-pr¶
- Required:
false - Default:
false
Description:
When true, automatically creates the next environment promotion PR after a prerelease (deployment-model: tbd-pr only). Set to false when using the tbd-promote reusable workflow separately.
environment¶
- Required:
false - Default:
''
Description:
The target environment for this run. Must be in environments.
Required when deployment-model is tbd.
environments¶
- Required:
false - Default:
["dev", "staging", "prod"]
Description:
JSON array of environment names in promotion order. The last entry is always treated as production (stable semver). Profiles: ["dev","prod"] | ["dev","staging","prod"] | ["dev","tst","acc","prd"]
prerelease-identifiers¶
- Required:
false - Default:
{"dev": "dev", "staging": "rc"}
Description:
JSON object mapping environment names to prerelease identifier strings. The production environment must be omitted from this map. Example: {"dev": "dev", "staging": "rc"}
tag-prefix¶
- Required:
false - Default:
v
Description:
Version tag prefix.
github-token¶
- Required:
false - Default:
''
Description:
GitHub token for GHCR login and, unless auth-mode uses a GitHub App, git push, tag creation, GitHub Releases, and promotion PR creation. Defaults to the workflow GITHUB_TOKEN when omitted.
app-id¶
- Required:
false - Default:
''
Description:
GitHub App ID. When provided with app-private-key, generates a short-lived token to bypass branch protection rules.
app-private-key¶
- Required:
false - Default:
''
Description:
GitHub App private key (PEM). Required when app-id is set.
image_name¶
- Required:
false - Default:
''
Description:
Base image name without registry or owner prefix (e.g., my-app).
Sets IMAGE_NAME=
bake_file¶
- Required:
false - Default:
docker-bake.hcl
Description:
Path to docker-bake.hcl
bake_target¶
- Required:
false - Default:
default
Description:
Bake target or group to build/promote. Groups are expanded — all sub-targets are built/promoted automatically.
registry¶
- Required:
false - Default:
ghcr.io
Description:
Container registry
platforms¶
- Required:
false - Default:
linux/amd64
Description:
Target platforms (comma-separated) for CI builds and fallback fresh builds.
enforce_branch_naming¶
- Required:
false - Default:
true
Description:
Enforce TBD branch naming convention on PRs (mode: ci). Allowed prefixes: feat, fix, chore, hotfix, docs, refactor, perf, test, ci, style. Set to false for BBD (branches are named after environments).
working-directory¶
- Required:
false - Default:
.
Description:
Working directory containing the versioning config file. For semantic-release-python: pyproject.toml For semantic-release-npm: .releaserc.json / package.json For gitversion: GitVersion.yml
create-release¶
- Required:
false - Default:
true
Description:
Create a GitHub Release on every version bump.
changelog¶
- Required:
false - Default:
true
Description:
Generate/update CHANGELOG.md (semantic-release-python and semantic-release-npm).
gitversion-spec¶
- Required:
false - Default:
6.x
Description:
GitVersion version spec (e.g., 6.x). Only used when versioning-tool is gitversion.
gitversion-config¶
- Required:
false - Default:
GitVersion.yml
Description:
Path to GitVersion.yml. Only used when versioning-tool is gitversion.
gitversion-appsettings-file¶
- Required:
false - Default:
''
Description:
Path to a JSON file (e.g., appsettings.json) where the version is injected and committed back to the branch. Only used when versioning-tool is gitversion.
gitversion-appsettings-version-path¶
- Required:
false - Default:
.Application.Version
Description:
jq path for the version field in the appsettings file. Only used when gitversion-appsettings-file is set. Example: .Application.Version
release-please-release-type¶
- Required:
false - Default:
simple
Description:
release-please release type (python, node, simple, go, etc.).
release-please-config-file¶
- Required:
false - Default:
release-please-config.json
Description:
Path to release-please-config.json.
Outputs¶
version¶
- Value:
${{ steps.normalize.outputs.version }}
Description:
Semver version string without prefix (e.g., 1.2.3 or 1.2.3-rc.1)
tag¶
- Value:
${{ steps.normalize.outputs.tag }}
Description:
Full git tag with prefix (e.g., v1.2.3 or v1.2.3-rc.1)
is-prerelease¶
- Value:
${{ steps.detect-env.outputs.is_prerelease }}
Description:
"true" if this environment produces a prerelease version
released¶
- Value:
${{ steps.normalize.outputs.released }}
Description:
"true" if a new version was created and published
prerelease-identifier¶
- Value:
${{ steps.detect-env.outputs.prerelease_identifier }}
Description:
The prerelease identifier (e.g., dev, rc, alpha). Empty for production.
resolved-environment¶
- Value:
${{ steps.detect-env.outputs.environment }}
Description:
The resolved environment name.