Plugin: provider-github
Publishes releases to GitHub using the generated SemRel tag, version, and changelog. It supports draft and prerelease flags and can upload matching assets from the local workspace.
Installation
Section titled “Installation”go install github.com/SemRels/provider-github@latestEach plugin is a standalone Go binary. Keep it on your PATH or reference it with path: in .semrel.yaml. If you keep secrets in a .env file, load them with semrel --env-file .env release.
Configuration
Section titled “Configuration”version: 1plugins: - name: provider-github path: provider-github args: token: '${{ env.GITHUB_TOKEN }}' owner: SemRels repo: semrel draft: false prerelease: false asset_glob: 'dist/*'Environment Variables
Section titled “Environment Variables”| Name | Required | Default | Description |
|---|---|---|---|
SEMREL_PLUGIN_TOKEN | yes | — | GitHub token used to create the release. |
SEMREL_PLUGIN_OWNER | no | current repository owner | Repository owner or organization. |
SEMREL_PLUGIN_REPO | no | current repository name | Repository name to publish into. |
SEMREL_PLUGIN_DRAFT | no | false | Create the release as a draft. |
SEMREL_PLUGIN_PRERELEASE | no | false | Mark the release as a prerelease. |
SEMREL_PLUGIN_ASSET_GLOB | no | — | Glob pattern for release assets to upload. |
Release Context Variables
Section titled “Release Context Variables”SEMREL_TAG_NAMESEMREL_NEXT_VERSIONSEMREL_CURRENT_VERSIONSEMREL_CHANGELOGSEMREL_DRY_RUN
Behavior
Section titled “Behavior”For v1.4.0, the provider can create a GitHub release, attach files matching dist/*, and publish the SemRel changelog as the release notes.