Skip to content

Plugin: provider-git

Creates git tags and optionally pushes branch updates through the local Git remote. Use it when your release flow only needs native Git operations instead of a forge-specific API.

Terminal window
semrel plugin install @semrel/provider-git

semrel plugin install downloads the binary to .semrel/plugins/ and updates .semrel.lock. Commit .semrel.lock to pin the version for your team.

Pre-built, signed multi-platform images (linux/amd64, linux/arm64) are published on every release:

Terminal window
docker pull ghcr.io/semrels/provider-git:latest

Verify the image signature with cosign:

Terminal window
cosign verify ghcr.io/semrels/provider-git:latest \
--certificate-identity-regexp 'https://github.com/SemRels/provider-git/.github/workflows/release.yml.*' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com
version: 1
plugins:
- uses: @semrel/provider-git
args:
remote: origin
push_branch: true
signing_key: ABCDEF1234567890
NameRequiredDefaultDescription
SEMREL_PLUGIN_REMOTEnooriginRemote name used for push operations.
SEMREL_PLUGIN_SIGNING_KEYnoOptional signing key for annotated or signed tags.
SEMREL_PLUGIN_PUSH_BRANCHnofalsePush the current branch in addition to the tag.
  • SEMREL_TAG_NAME
  • SEMREL_NEXT_VERSION
  • SEMREL_BRANCH
  • SEMREL_TAG_PREFIX
  • SEMREL_DRY_RUN

For v1.4.0, the provider can create the tag locally and push it to origin. If push_branch is true, it can also push the release commit on the current branch.