Files
stack/renovate.json
kert cf5ca45ac3
Some checks failed
CI / lint (push) Successful in 33s
Deploy / notebooks (push) Has been skipped
Deploy / zotero (push) Failing after 21s
Deploy / docs (push) Has been skipped
Deploy / api (push) Has been skipped
Deploy / mc (push) Has been skipped
Infra CI / notebooks (push) Failing after 50s
Infra CI / zotero (push) Successful in 25s
Infra CI / docs (push) Successful in 15s
Infra CI / api (push) Successful in 39s
Infra CI / mc (push) Successful in 14s
Package Supply Chain / pkg-supply-chain (push) Failing after 1m11s
Deploy / report (push) Successful in 19s
CI / test (push) Successful in 22m44s
feat(infra): version-pin freshness check + Renovate auto-bump for ARG pins
Renovate's pip and dockerfile managers don't see bare `ARG *_VERSION=`
pins (marimo cloned from a git tag, yq/otel-cli from GitHub releases), so
they silently went stale — the marimo one was 3 minor versions behind and
broke acodb_explorer's charts.

- Annotate each such pin with a `# renovate: datasource=… depName=…`
  comment and add a Renovate customManager that reads them, so Renovate
  now opens bump PRs for MARIMO/YQ/OTEL_CLI versions automatically.
- Add dev/scripts/check_freshness.py: the on-demand/CI counterpart that
  reads the same annotations, reports which pins are behind upstream, and
  exits nonzero if any are stale. All three currently fresh.
2026-07-08 19:55:44 -04:00

35 lines
1.0 KiB
JSON

{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["config:recommended"],
"platform": "gitea",
"endpoint": "http://git:3000/api/v1",
"gitAuthor": "Renovate Bot <renovate@fhirworx.io>",
"automerge": false,
"labels": ["dependencies"],
"packageRules": [
{
"matchUpdateTypes": ["minor", "patch"],
"automerge": true
}
],
"pip_requirements": {
"fileMatch": ["pyproject.toml"]
},
"docker-compose": {
"fileMatch": ["compose.yml"]
},
"dockerfile": {
"fileMatch": ["infra/images/*.Dockerfile"]
},
"customManagers": [
{
"customType": "regex",
"description": "Bump `ARG *_VERSION=` pins annotated with a `# renovate:` comment (marimo, yq, otel-cli, …) that the dockerfile manager can't see.",
"fileMatch": ["(^|/)[^/]+\\.Dockerfile$"],
"matchStrings": [
"# renovate: datasource=(?<datasource>\\S+) depName=(?<depName>\\S+)(?: extractVersion=(?<extractVersion>\\S+))?\\s+ARG \\w+?_VERSION=(?<currentValue>\\S+)"
]
}
]
}