3.0 KiB
Renovate + Woodpecker CI for Gitea
This repo runs Renovate via Woodpecker CI on a weekly schedule. Renovate autodiscovers all repositories your Gitea bot can access and opens pull requests for dependency updates.
How it works
- Woodpecker runs a single pipeline step on the
cronevent (weekly). - The step uses the official
renovate/renovateDocker image and loads config from renovate.json in this repo. - Renovate finds every Gitea repo the bot token can access (push/pull, PRs enabled, non-mirror) and creates/updates PRs there. Minor and patch updates are grouped into one PR per repo; major updates stay in separate PRs.
Setup
1. Woodpecker cron job
Woodpecker does not define cron schedules in YAML. You must create the schedule in the UI:
- Open repository settings for this repo in Woodpecker.
- Add a cron job (e.g. name:
renovate-weekly). - Set the schedule to weekly, e.g.
@weeklyor0 0 * * 0(Sunday 00:00).
2. Woodpecker secrets
Configure this secret at repository or organization level:
| Secret | Description |
|---|---|
renovate_token |
Gitea Personal Access Token (PAT) for the bot account |
The Gitea endpoint (RENOVATE_ENDPOINT) is set in .woodpecker/ci.yml; change it there if your instance has a different URL.
Optional: RENOVATE_GITHUB_COM_TOKEN — read-only GitHub PAT if any dependencies or changelogs come from GitHub (reduces rate limit issues).
3. Gitea Personal Access Token (PAT)
Create a bot user for Renovate in Gitea (or your identity provider) so PRs and commits show as the bot; ensure it has access to all repos you want updated. Then create a PAT for that user:
- Log in to Gitea as the bot user.
- Go to Settings → Applications (or
https://your-gitea/user/settings/applications). - Manage Access Tokens / Generate New Token. Name it (e.g.
renovate-woodpecker). - Set permissions: repository (Read and write), user (Read), issue (Read and write), organization (Read). Add package (Read) if you use Gitea packages.
- Create the token and copy it immediately (it is shown only once).
- Store that value as the
renovate_tokensecret in Woodpecker. - In renovate.json, set
gitAuthorto match the bot (e.g."Renovate Bot <renovate-bot@your-domain>").
Configuration
Renovate is configured in renovate.json in this repo. That file sets platform, autodiscover, grouping (group:allNonMajor), best-practices presets, and disables the Dependency Dashboard (not supported on Gitea). Token and endpoint are provided only via pipeline environment (secrets). Individual target repos can override behavior with their own renovate.json.
Narrowing scope
To limit which repos Renovate processes, add autodiscoverFilter (e.g. ["my-org/*"]) or autodiscoverNamespaces in renovate.json, or set RENOVATE_AUTODISCOVER_FILTER in the pipeline environment.