Skip to content

fix: disable Renovate Dockerfile base-image updates in downstream repos#365

Open
coretl wants to merge 1 commit into
mainfrom
claude/renovate-disable-downstream-docker
Open

fix: disable Renovate Dockerfile base-image updates in downstream repos#365
coretl wants to merge 1 commit into
mainfrom
claude/renovate-disable-downstream-docker

Conversation

@coretl

@coretl coretl commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Summary

Downstream repos generated from this template were receiving Renovate PRs (e.g. "Update ubuntu Docker tag") for Docker base images that are only ever meant to be bumped centrally, in template/Dockerfile.jinja. This PR adds a packageRule to template/renovate.json.jinja — the config shipped to downstream projects — that disables Renovate's dockerfile manager for the two template-managed base images (ubuntu and ghcr.io/diamondlightsource/ubuntu-devcontainer), mirroring the existing rules that already disable pyenv and template-managed GitHub Actions.

The rule is appended to the end of the packageRules array (not inserted before the existing github-actions rule), since tests/test_example.py::test_renovate_actions_match_what_is_shipped hard-indexes packageRules[1] as the github-actions rule.

Originating request

From a maintainer comment on bluesky/scanspec#211: Renovate was opening Docker base-image bump PRs in downstream repos, but those base images are managed centrally by this template — the update should only ever happen here, not downstream.

Deliberately left alone

  • Root renovate.json (this template repo's own Renovate config) was not changed — this repo should keep receiving Docker base-image updates itself, since it's the one place those bumps are supposed to land.
  • template/Dockerfile.jinja, the root Dockerfile, workflows, and uv.lock were not touched.

Verification

Ran locally from the repo root, as CI does:

  • uv run --locked tox -e pre-commit — passed.
  • uv run --locked tox -e teststest_renovate_actions_match_what_is_shipped passes for all 5 parametrized scenarios (no-docker, docker, docker+debug, pypi, sphinx docs). Two pre-existing, unrelated failures were confirmed to reproduce identically on unmodified main (a docs-build test blocked by network/proxy restrictions in this sandbox, and a template-version-hash mismatch in a generated doc link) — left untouched as instructed.

🤖 Generated with Claude Code


Generated by Claude Code

Downstream repos generated from this template were getting Renovate
PRs (e.g. "Update ubuntu Docker tag") for base images that are only
ever meant to be bumped centrally, in template/Dockerfile.jinja.
Add a packageRule to renovate.json.jinja that disables the dockerfile
manager for ubuntu and ghcr.io/diamondlightsource/ubuntu-devcontainer,
mirroring the existing pyenv and github-actions disable rules.

Reported in bluesky/scanspec#211.
@coretl coretl changed the title Disable Renovate Dockerfile base-image updates in downstream repos fix: disable Renovate Dockerfile base-image updates in downstream repos Jul 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant