rockdove
filter & redirect github webhooks
configuration
the following environment variables are required:
GITHUB_WEBHOOK_SECRET: the secret you chose when you created the json webhookDISCORD_WEBHOOK: the regular discord webhook urlDISCORD_BOT_WEBHOOK: the discord webhook url for bot-authored eventsDISCORD_USERSTYLES_WEBHOOK: the discord webhook url for all non-bot events on catppuccin/userstyles.DISCORD_ERROR_WEBHOOK: the discord webhook url for errors
the following environment variables are optional:
PORT: the port to listen on (default: 3000)
development
To learn how to forward webhook events to a local instance of rockdove, follow the instructions below:
-
Ensure your
.envrchas the environment variables listed above in the configuration section. -
Compile a release build of rockdove and run it:
cargo build --release ./target/release/rockdove -
Install the
ghcli webhook forward extension:gh extension install cli/gh-webhook -
Allow
gh clito create organisation webhooks on your behalf:gh auth refresh -h github.com -s admin:org_hook -
Forward the webhook events to your local instance of rockdove:
gh webhook forward --events='*' --org=catppuccin --url="http://localhost:3000/webhook" -
Finally, visit the GitHub webhook settings and paste the
GITHUB_WEBHOOK_SECRETinto the newly created development webhook.
cutting a release
Follow the steps below, replacing <tag> with the version (e.g. 2.1.0) you want to publish:
-
Generate your changelog:
git cliff --unreleased --tag <tag> --prepend CHANGELOG.md -
Update your Cargo.toml with the new version, and make sure to rebuild to force the Cargo.lock to regenerate.
-
Add, commit and push your changes, the commit message is important so that git cliff doesn't include it in future changelogs:
git commit -am "chore(release): prepare for v<tag>" git push -
Create the tag and push your changes
git tag -a v<tag> -m "v<tag>" git push origin v<tag>