@jcwillox/semantic-release-config
v1.14.0
Published
A semantic-release config with improved defaults and configurable through environment variables
Readme
Semantic Release Config
The shared semantic release config and plugins for my projects.
Usage
Install the package:
# install the package and run semantic-release with built-in config
pnpm dlx @jcwillox/semantic-release-configExtra args are passed straight to
semantic-releaseso you can use--dry-runor--no-cifor example.
Environment Variables
The config is designed to be controlled through environment variables, all envs must be prefixed with SEMANTIC_RELEASE_.
| Option | Description | Default |
|-----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------|
| NPM_ENABLE | Enable/disable the npm plugin | true when package.json exists and private is not set to true |
| NPM_PKG_ROOT | Directory path to publish | . |
| | | |
| GITHUB_ASSETS | Assets glob to upload to the GitHub release | |
| GITHUB_DRAFT | Create a draft release on GitHub | false |
| GITHUB_DISCUSSION | Category name in which to create a discussion for the release, if value is set to true category will be General | false |
| | | |
| FORCE_RELEASE | Forces the specified release type to be made, one of major, minor, patch, auto | auto |
| | | |
| CMD_VERIFY | Run a command, supports templating same as @semantic-release/exec | |
| CMD_ANALYZE_COMMITS | Run a command, supports templating same as @semantic-release/exec | |
| CMD_VERIFY_RELEASE | Run a command, supports templating same as @semantic-release/exec | |
| CMD_GENERATE_NOTES | Run a command, supports templating same as @semantic-release/exec | |
| CMD_PREPARE | Run a command, supports templating same as @semantic-release/exec | |
| CMD_PRE_PUBLISH | Run a command, supports templating same as @semantic-release/exec, runs earlier than other publish steps. | |
| CMD_PUBLISH | Run a command, supports templating same as @semantic-release/exec | |
| CMD_CHANNEL | Run a command, supports templating same as @semantic-release/exec | |
| CMD_SUCCESS | Run a command, supports templating same as @semantic-release/exec | |
| | | |
| CHANGELOG | Enable the changelog writer plugin | true when file or title is defined |
| CHANGELOG_TITLE | Title to prepend the changelog file with (templatable) | # Changelog |
| CHANGELOG_FILE | The file to write the changelog to (templatable) | CHANGELOG.md |
| CHANGELOG_PREFIX | Prefix to append before the release notes (templatable) | ## ${nextRelease.version} |
| | | |
| GIT_COMMIT | Enable the @semantic-release/git plugin | true when changelog enabled, or message or assets is defined |
| GIT_MESSAGE | Override default commit message | release: ${nextRelease.version} [skip ci]\n\n${nextRelease.notes} |
| GIT_ASSETS | Specify which assets to include in the commit | automatically uses changelog file if present and not overriden |
| | | |
| COMMIT_MINOR_TYPES | Additional commit type's that should trigger a minor release (JSON array or single string). | [] |
| COMMIT_PATCH_TYPES | Additional commit type's that should trigger a patch release (JSON array or single string). | [] |
