| Crates.io | cerberus-mergeguard |
| lib.rs | cerberus-mergeguard |
| version | 0.3.4 |
| created_at | 2025-05-29 19:24:37.382747+00 |
| updated_at | 2025-09-01 05:59:28.458668+00 |
| description | Block github pull request merges until all status checks have passed |
| homepage | |
| repository | https://github.com/heathcliff26/cerberus-mergeguard |
| max_upload_size | |
| id | 1694222 |
| size | 191,168 |
Use cerberus bot to combine conditional workflows in big monorepos with required status checks.
Instead of having empty runs, crazy bash magic or other tricks, you only need to mark the "cerberus-mergeguard" status as required.
$ cerberus-mergeguard help
Guard PRs from merging until all triggered checks have passed
Usage: cerberus-mergeguard [OPTIONS] <COMMAND>
Commands:
server Run the bot and listen for webhook events on /webhook
create Create a new pending status check for a commit
refresh Refresh the state of the status check of a commit
status Check the status of a commit
version Print the version and exit
help Print this message or the help of the given subcommand(s)
Options:
--log <LOG> Log level to use, overrides the level given in the config file
-c, --config <CONFIG> Path to the config file [default: /config/config.yaml]
-h, --help Print help
| Container Registry | Image |
|---|---|
| Github Container | ghcr.io/heathcliff26/cerberus-mergeguard |
| Docker Hub | docker.io/heathcliff26/cerberus-mergeguard |
There are different flavors of the image:
| Tag(s) | Description |
|---|---|
| latest | Last released version of the image |
| rolling | Rolling update of the image, always build from main branch. |
| vX.Y.Z | Released version of the image |
In order to create and update status checks, github requires an app. To create a github app follow these steps:
After you have created your app, navigate to it (Settings -> Developer Settings -> Your App).
In the "Installed App" tab install the app to your profile and select which repositories you want to use it for.
Before you run the bot, copy both the example configuration and your app private key to a folder.
Afterwards ensure you fill out all required attributes in the configuration file. The example has descriptions of the values.
Finally run the bot with
podman run -d -p 8080:8080 -v /path/to/config/:/config/ ghcr.io/heathcliff26/cerberus-mergeguard:latest
You can download the latest binary from the releases page.
Alternatively you can use cargo with cargo install cerberus-mergeguard.
The avatar picture has been created with Google Gemini.