| repo | GitHub repository in the form of owner/repo. | — | ${{ github.repository }} |
| check-pr | Operates as if the given PR has already been merged. Useful for making sure the PR is properly labeled.
Skips tag and release. | — | ${{ github.event.number }} |
| labels | PR label alias in the form of "<alias>=<label>" where <label> is a canonical label.
Accepts multiple values. One value per line. | — | — |
| checkout-dir | The directory where the repository is checked out. | — | ${{ github.workspace }} |
| ref | git ref. | — | HEAD |
| github-token | The GitHub token to use for authentication. Must have `contents: write` permission if creating a release or tag. | — | ${{ github.token }} |
| create-tag | Whether to create a tag for the release.
Only literal 'true' will be treated as true. | — | — |
| create-release | Whether to create a release. Implies create-tag.
Only literal 'true' will be treated as true. | — | — |
| force-prerelease | Force prerelease even if no prerelease PRs are present.
Only literal 'true' will be treated as true. | — | — |
| force-stable | Force stable release even if no stable PRs are present.
Only literal 'true' will be treated as true. | — | — |
| draft | Leave the release as a draft.
Only literal 'true' will be treated as true. | — | — |
| tag-prefix | The prefix to use for the tag. | — | v |
| v0 | Assert that current major version is 0 and treat breaking changes as minor changes.
Errors if the major version is not 0.
Only literal 'true' will be treated as true. | — | — |
| initial-release-tag | The tag to use if no previous version can be found. Set to "" to cause an error instead. | — | v0.0.0 |
| make-latest | Mark the release as "latest" on GitHub. Can be set to "true", "false" or "legacy". See
https://docs.github.com/en/rest/releases/releases#update-a-release for details. | — | legacy |
| pre-tag-hook | Command to run before tagging the release. You may abort the release by exiting with a non-zero exit code. Exit code 0
will continue the release. Exit code 10 will skip the release without error. Any other exit code will abort the release
with an error.
Environment variables available to the hook:
RELEASE_VERSION
The semantic version being released (e.g. 1.2.3).
RELEASE_TAG
The tag being created (e.g. v1.2.3).
PREVIOUS_VERSION
The previous semantic version (e.g. 1.2.2). Empty on
first release.
PREVIOUS_REF
The git ref of the previous release (e.g. v1.2.2). Empty on
first release.
PREVIOUS_STABLE_VERSION
The previous stable semantic version (e.g. 1.2.2). Empty if there
hasn't been a stable version yet. A stable version is one without
prerelease identifiers.
PREVIOUS_STABLE_REF
The git ref of the previous stable release (e.g. v1.2.2). Empty if there
hasn't been a stable version yet. A stable version is one without
prerelease identifiers.
FIRST_RELEASE
Whether this is the first release. Either "true" or
"false".
GITHUB_TOKEN
The GitHub token that was provided to release-train.
RELEASE_NOTES_FILE
A file path where you can write custom release notes.
When nothing is written to this file, release-train
will use GitHub's default release notes.
RELEASE_TARGET
A file path where you can write an alternate git ref
to release instead of HEAD.
ASSETS_DIR
A directory where you can write release assets. All
files in this directory will be uploaded as release
assets.
In addition to the above environment variables, all variables from release-train's environment are available to the
hook.
When the hook creates a tag named $RELEASE_TAG, it will be used as the release target instead of either HEAD or the
value written to $RELEASE_TARGET. | — | — |
| pre-release-hook | *deprecated* Will be removed in a future release. Alias for pre-tag-hook. | — | — |
| release-refs | Only allow tags and releases to be created from matching refs. Refs can be patterns accepted by git-show-ref.
If undefined, any branch can be used.
Accepts multiple values. One value per line. | — | — |
| tempdir | The prefix to use with mktemp to create a temporary directory. | — | — |
| debug | Enable debug logging.
Only literal 'true' will be treated as true. | — | — |
| release-train-bin | Path to release-train binary. Only needed if you're using a custom release-train binary. | — | — |