Skip to content

Plugin: updater-homebrew

Updates a Homebrew formula with the new release URL and checksum. Use it when SemRel publishes tarballs that also need to be reflected in a Homebrew tap.

Terminal window
semrel plugin install @semrel/updater-homebrew

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/semrel:latest

Verify the image signature with cosign:

Terminal window
cosign verify ghcr.io/semrels/semrel:latest \
--certificate-identity-regexp 'https://github.com/SemRels/semrel/.github/workflows/release.yml.*' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com
version: 1
plugins:
- uses: @semrel/updater-homebrew
args:
formula_file: Formula/semrel.rb
url_template: 'https://github.com/SemRels/semrel/archive/refs/tags/v{{ .NextVersion }}.tar.gz'
sha256: '${{ env.RELEASE_SHA256 }}'
NameRequiredDefaultDescription
SEMREL_PLUGIN_FORMULA_FILEyesHomebrew formula file to update.
SEMREL_PLUGIN_URL_TEMPLATEnoplugin-definedTemplate used to build the download URL for the new release.
SEMREL_PLUGIN_SHA256noChecksum to write into the formula.
  • SEMREL_NEXT_VERSION
  • SEMREL_CURRENT_VERSION
  • SEMREL_TAG_NAME
  • SEMREL_DRY_RUN

For a 1.4.0 release, the updater can rewrite the formula URL to the v1.4.0 archive and replace the sha256 value with the supplied checksum.