Skip to content
monkesciencePublic

About

Release automation for GitHub, GitLab, and Azure DevOps based on conventional commits

Topics

Resources

Contributing

Security policy

Stars

7 stars

Watchers

0 watching

Forks

Repository files navigation

yeet

CI Release Go Version OpenSSF Scorecard OpenSSF Best Practices License

Automate releases on GitHub, GitLab, or Azure DevOps from your conventional commits.

yeet calculates the next semver or calver version, updates your changelog, opens a release PR/MR, and publishes the release once you merge it. It is a single static binary that you run in CI on every push to your release branch.

  • One workflow for GitHub, GitLab, and Azure DevOps, including self-hosted installations
  • Single repositories and monorepos
  • Semver or calver, prerelease channels, and optional auto-merge
  • One YAML file with a JSON schema for editor autocompletion

Quick start

  1. Install and preview locally.

    brew install monkescience/tap/yeet
    export GITHUB_TOKEN=github_pat_xxx # or GITLAB_TOKEN, AZURE_DEVOPS_EXT_PAT
    yeet init
    yeet release --dry-run

    yeet init creates .yeet.yaml. See Authentication for token permissions.

  2. Add the release pipeline. Copy the example for your provider from CI setup, then commit it together with .yeet.yaml.

  3. Release. Merge a feat, fix, or perf commit into the release branch. CI opens a release PR/MR. Merge it, and the next CI run creates the tag and the release.

Install

brew install monkescience/tap/yeet
go install github.com/monkescience/yeet/cmd/yeet@v0.17.3 # x-yeet-version
docker run --rm ghcr.io/monkescience/yeet:v0.17.3 --help # x-yeet-version

On Windows, use Scoop:

scoop bucket add monkescience https://github.com/monkescience/scoop-bucket
scoop install yeet

Run yeet completion bash|zsh|fish|powershell for shell completions and yeet --help for all commands and flags. To check a download, see Artifact verification.

Documentation

Guide Covers
Authentication Tokens, permissions, and self-hosted providers
CI setup GitHub Actions, GitLab CI, and Azure Pipelines examples
Configuration .yeet.yaml, monorepo targets, and version files
Writing commits Commit format, breaking changes, and release notes
Versioning Semver and calver rules
Changelog Sections and issue links
Release PRs and MRs Labels, reviewers, templates, and prerelease channels
Auto-merge Merging release PRs/MRs automatically
Troubleshooting Recovering from failed releases
Migrating from release-please Moving an existing repository to yeet
Telemetry What anonymous usage data is sent and how to turn it off

The complete .yeet.yaml reference is yeet.schema.json.

Feedback and contributions

About

Release automation for GitHub, GitLab, and Azure DevOps based on conventional commits

Topics

Resources

Contributing

Security policy

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages