Versions are pinned across the Ansible vars, compose files, Terraform providers and workflows, and nothing says when one is behind. Run Renovate daily from Forgejo Actions: one PR per available bump, with the upstream changelog in the body, which the deploy pipeline then dry-runs like any other branch. Variables are tracked through a "# renovate: datasource=... depName=..." comment above them; Forgejo, Traefik, the runner and its nix image get one here. The Paper JRE tag is left alone, the runner and nix bumps carry their manual follow-up steps in the PR, and Renovate's own image is bumped monthly. Needs the repository secrets RENOVATE_TOKEN (bot user with write access) and GH_COM_TOKEN (read-only github.com token for release notes). Assisted-by: Claude:opus-5-5
41 lines
1.6 KiB
JSON
41 lines
1.6 KiB
JSON
{
|
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
|
"extends": ["config:recommended", ":disableDependencyDashboard"],
|
|
"timezone": "Europe/Helsinki",
|
|
"labels": ["dependencies"],
|
|
"prHourlyLimit": 0,
|
|
"prConcurrentLimit": 10,
|
|
"commitMessagePrefix": "deps:",
|
|
"customManagers": [
|
|
{
|
|
"description": "Versions in Ansible vars, marked with a comment: # renovate: datasource=<ds> depName=<name>",
|
|
"customType": "regex",
|
|
"managerFilePatterns": ["/^ansible/.+\\.ya?ml$/"],
|
|
"matchStrings": [
|
|
"# renovate: datasource=(?<datasource>\\S+) depName=(?<depName>\\S+)\\s+[a-z_0-9]+:\\s*\"?(?<currentValue>[^\"\\s]+)\"?"
|
|
]
|
|
}
|
|
],
|
|
"packageRules": [
|
|
{
|
|
"description": "Paper needs Java 21; the tag is a floating JRE line",
|
|
"matchPackageNames": ["eclipse-temurin"],
|
|
"enabled": false
|
|
},
|
|
{
|
|
"description": "Every job runs this image and a nix-store volume tied to its version",
|
|
"matchPackageNames": ["nixos/nix"],
|
|
"prBodyNotes": ["After merging, remove the old `nix-store-<old version>` volume on asxpio-services (see forgejo_runner.yaml)."]
|
|
},
|
|
{
|
|
"description": "A runner change recreates the runner mid-job",
|
|
"matchPackageNames": ["code.forgejo.org/forgejo/runner"],
|
|
"prBodyNotes": ["The deploy job that applies this shows as cancelled; the next run confirms the result."]
|
|
},
|
|
{
|
|
"description": "Renovate itself releases daily; once a month is enough",
|
|
"matchPackageNames": ["ghcr.io/renovatebot/renovate"],
|
|
"schedule": ["* * 1 * *"]
|
|
}
|
|
]
|
|
}
|