No description
  • JavaScript 100%
Find a file
2026-04-24 18:18:50 -04:00
.forgejo/workflows chore(deps): update ghcr.io/renovatebot/renovate docker tag to v43 2026-04-23 22:29:42 +00:00
.gitignore chore: bootstrap renovate-config for Forgejo 2026-04-23 17:50:46 -04:00
config.js feat: enable auto-merge and document Telegram notifications 2026-04-23 18:12:46 -04:00
README.md feat: enable auto-merge and document Telegram notifications 2026-04-23 18:12:46 -04:00
renovate.json Add renovate.json 2026-04-23 22:06:43 +00:00

renovate-config

Central Renovate configuration for the Forgejo instance at http://10.0.2.146:3000.

What this repo does

  • Runs Renovate hourly via Forgejo Actions (see .forgejo/workflows/renovate.yml).
  • Autodiscovers every repo the renovate-bot user has write access to.
  • Opens an onboarding PR in each new repo; merging it activates Renovate for that repo.

One-time setup

  1. Create bot user in Forgejo: renovate-bot (email renovate-bot@strscrm.io).
  2. Generate access token for that user. Scopes: read:user, write:repository, write:issue.
  3. Add secret RENOVATE_TOKEN to this repo (Settings → Actions → Secrets) with the token value.
  4. Grant access: add renovate-bot as a member (write) of every org/repo you want managed, or invite per-repo.
  5. Push this repo to Forgejo and enable Actions on it.
  6. Trigger first run via workflow_dispatch in the Actions UI.

Files

  • config.js — global Renovate config (platform, endpoint, autodiscover, onboarding defaults).
  • .forgejo/workflows/renovate.yml — hourly cron workflow that invokes the Renovate container.

Per-repo config

After onboarding, each managed repo gets its own renovate.json. Customize there, not here, unless the change should apply globally.

Pinning

Renovate image pinned to major 39 in the workflow. Bump deliberately after reading release notes.

Auto-merge

config.js enables auto-merge for:

  • Any patch, minor, pin, or digest update
  • Major bumps of devDependencies
  • All github-actions updates (treated as low-risk pinned digests)

Major bumps of runtime dependencies require manual review.

platformAutomerge: true delegates the actual merge to Forgejo's native "merge when checks pass" feature. If a repo has no required status checks configured, the PR is merged immediately. Set up branch protection on the target repos if you want CI to gate auto-merges.

Telegram notifications

Forgejo has built-in Telegram webhook support. Because webhooks are repo- or instance-scoped (not part of this config repo), they have to be configured in the Forgejo UI.

One-time bot setup

  1. Talk to @BotFather on Telegram, create a bot, save the bot token.
  2. Add the bot to the target Telegram chat.
  3. Send any message in the chat, then hit https://api.telegram.org/bot<TOKEN>/getUpdates and copy the chat.id value from the response.

Forgejo-side setup

For instance-wide coverage (recommended — fires for every repo, including future ones):

  • Site Admin → Integrations → System Webhooks → Add Webhook → Telegram
  • Bot Token: the token from BotFather
  • Chat ID: the chat id from getUpdates
  • Trigger On → Custom Events → check only Pull Request (and sub-filter to "Merged" if the UI exposes it; otherwise all PR events fire and you filter downstream)
  • Save

For a single repo, use repo Settings → Webhooks instead.

Limitation: Forgejo webhooks do not filter by PR author, so every merged PR fires — not just Renovate's. Since Renovate is currently the only automated PR source, this is acceptable for now. If the noise grows, run a small filter proxy (e.g. a one-file Go service) that accepts the Forgejo webhook, checks pull_request.user.login == "renovate-bot", and forwards to Telegram only on match.