fix(renovate): track tool pins through Docker images; stop token-only lookups
Some checks failed
CI / lint (push) Successful in 33s
CI / test (push) Has been cancelled
CI / notebooks-smoke (push) Has been cancelled
Deploy / changes (push) Has been cancelled
Deploy / notebooks (push) Has been cancelled
Deploy / zotero (push) Has been cancelled
Deploy / docs (push) Has been cancelled
Deploy / api (push) Has been cancelled
Deploy / bcda (push) Has been cancelled
Deploy / llm (push) Has been cancelled
Deploy / mc (push) Has been cancelled
Deploy / report (push) Has been cancelled
Infra CI / zotero (push) Successful in 16s
Infra CI / docs (push) Successful in 21s
Infra CI / notebooks (push) Successful in 51s
Infra CI / api (push) Successful in 14s
Infra CI / bcda (push) Successful in 15s
Infra CI / llm (push) Successful in 20s
Infra CI / mc (push) Successful in 17s
Some checks failed
CI / lint (push) Successful in 33s
CI / test (push) Has been cancelled
CI / notebooks-smoke (push) Has been cancelled
Deploy / changes (push) Has been cancelled
Deploy / notebooks (push) Has been cancelled
Deploy / zotero (push) Has been cancelled
Deploy / docs (push) Has been cancelled
Deploy / api (push) Has been cancelled
Deploy / bcda (push) Has been cancelled
Deploy / llm (push) Has been cancelled
Deploy / mc (push) Has been cancelled
Deploy / report (push) Has been cancelled
Infra CI / zotero (push) Successful in 16s
Infra CI / docs (push) Successful in 21s
Infra CI / notebooks (push) Successful in 51s
Infra CI / api (push) Successful in 14s
Infra CI / bcda (push) Successful in 15s
Infra CI / llm (push) Successful in 20s
Infra CI / mc (push) Successful in 17s
Renovate on Gitea refuses github-tags/-releases lookups without a
GITHUB_COM_TOKEN ("GitHub token is required for some dependencies"),
which left yq, otel-cli, trivy and crane untracked. Each publishes a
versioned image, so their pins now use datasource=docker (tags verified
for the current versions: mikefarah/yq, ghcr.io/equinix-labs/otel-cli,
aquasec/trivy, gcr.io/go-containerregistry/crane).
The github-actions block meant to limit that manager to renovate.yml
never did: managerFilePatterns adds to the defaults, so every generated
workflow was scanned too. Drop it; a packageRule disables github-tags
action pins (token-only, and gen_config.py owns those files) while
Renovate's own container image stays tracked. requires-python is a
floor, not a dependency, so the pep621 python lookup is off.
This commit is contained in:
@@ -18,9 +18,9 @@ from backends.github import (
|
||||
# tools that guard the supply chain an unpinned dependency themselves.
|
||||
# Renovate bumps these via the regex manager in renovate.json; re-run
|
||||
# gen_config.py after a bump.
|
||||
# renovate: datasource=github-releases depName=aquasecurity/trivy
|
||||
# renovate: datasource=docker depName=aquasec/trivy
|
||||
TRIVY_VERSION = "0.76.0"
|
||||
# renovate: datasource=github-releases depName=google/go-containerregistry
|
||||
# renovate: datasource=docker depName=gcr.io/go-containerregistry/crane
|
||||
CRANE_VERSION = "0.22.1"
|
||||
|
||||
# ── Override action refs with full GitHub URLs ───────────────────
|
||||
|
||||
@@ -29,7 +29,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
# Reinstall yq as a current static binary (replaces the vulnerable base copy
|
||||
# purged above). KasmVNC's entrypoint hard-depends on it (mikefarah v4 syntax);
|
||||
# a recent release carries the patched Go stdlib that motivated the removal.
|
||||
# renovate: datasource=github-releases depName=mikefarah/yq extractVersion=^v(?<version>.+)$
|
||||
# renovate: datasource=docker depName=mikefarah/yq
|
||||
ARG YQ_VERSION=4.53.3
|
||||
RUN arch="$(dpkg --print-architecture)" \
|
||||
&& curl -fsSL "https://github.com/mikefarah/yq/releases/download/v${YQ_VERSION}/yq_linux_${arch}" -o /usr/bin/yq \
|
||||
@@ -57,7 +57,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
# default (the guard only emits when OTEL_EXPORTER_OTLP_ENDPOINT is set and
|
||||
# this container is attached to the `observability` network — see compose.yml).
|
||||
# Best-effort install so a release-asset hiccup never breaks the image build.
|
||||
# renovate: datasource=github-releases depName=equinix-labs/otel-cli extractVersion=^v(?<version>.+)$
|
||||
# renovate: datasource=docker depName=ghcr.io/equinix-labs/otel-cli extractVersion=^v(?<version>.+)$
|
||||
ARG OTEL_CLI_VERSION=0.4.5
|
||||
RUN arch="$(dpkg --print-architecture | sed -e 's/amd64/amd64/' -e 's/arm64/arm64/')" \
|
||||
&& curl -fsSL "https://github.com/equinix-labs/otel-cli/releases/download/v${OTEL_CLI_VERSION}/otel-cli_${OTEL_CLI_VERSION}_linux_${arch}.tar.gz" \
|
||||
|
||||
@@ -42,6 +42,18 @@
|
||||
"matchPackageNames": ["pymupdf"],
|
||||
"allowedVersions": "<2"
|
||||
},
|
||||
{
|
||||
"description": "Action pins (uses: …@v4) are github-tags lookups, which Renovate refuses without a GITHUB_COM_TOKEN; and all workflows but renovate.yml are generated by gen_config.py from dev/scripts/backends/*.py, so a direct edit would fail its --check. The Renovate container image (docker datasource) stays tracked.",
|
||||
"matchManagers": ["github-actions"],
|
||||
"matchDatasources": ["github-tags"],
|
||||
"enabled": false
|
||||
},
|
||||
{
|
||||
"description": "requires-python is a support floor, not a dependency to bump.",
|
||||
"matchManagers": ["pep621"],
|
||||
"matchDepNames": ["python"],
|
||||
"enabled": false
|
||||
},
|
||||
{
|
||||
"description": "Every service shares the same .duckdb files; a new duckdb major is a coordinated migration, not a bump (see pyproject's notebooks extra).",
|
||||
"matchPackageNames": ["duckdb"],
|
||||
@@ -62,14 +74,10 @@
|
||||
"dockerfile": {
|
||||
"managerFilePatterns": ["/(^|/)[^/]+\\.Dockerfile$/"]
|
||||
},
|
||||
"github-actions": {
|
||||
"description": "Only the hand-written Renovate workflow; the rest of .gitea/workflows is generated by gen_config.py.",
|
||||
"managerFilePatterns": ["/^\\.gitea/workflows/renovate\\.yml$/"]
|
||||
},
|
||||
"customManagers": [
|
||||
{
|
||||
"customType": "regex",
|
||||
"description": "Bump `ARG *_VERSION=` pins annotated with a `# renovate:` comment (marimo, yq, otel-cli, …) that the dockerfile manager can't see.",
|
||||
"description": "Bump `ARG *_VERSION=` pins annotated with a `# renovate:` comment (yq, otel-cli, …) that the dockerfile manager can't see. Tools that publish a Docker image are tracked through it (datasource=docker): github-* datasources need a GITHUB_COM_TOKEN.",
|
||||
"managerFilePatterns": ["/(^|/)[^/]+\\.Dockerfile$/"],
|
||||
"matchStrings": [
|
||||
"# renovate: datasource=(?<datasource>\\S+) depName=(?<depName>\\S+)(?: extractVersion=(?<extractVersion>\\S+))?\\s+ARG \\w+?_VERSION=(?<currentValue>\\S+)"
|
||||
|
||||
Reference in New Issue
Block a user