Skip to content

fix(renovate): drop a custom manager that matches nothing - #5

Merged
Mtze merged 1 commit into
mainfrom
chore/renovate-fix-dead-managers
Aug 27, 2026
Merged

fix(renovate): drop a custom manager that matches nothing#5
Mtze merged 1 commit into
mainfrom
chore/renovate-fix-dead-managers

Conversation

@Mtze

@Mtze Mtze commented Aug 27, 2026

Copy link
Copy Markdown
Member

What and why

Correcting a mistake I shipped in #4.

The preset included a regex custom manager for deployments/*/values.yaml in EduIDE-deployment, reading the student IDE images listed under preloading.images:. I verified that regex against the real file and it matched 12 production images, so I described it in #4 as the highest-value gap the config closed.

That verification was run against a stale local checkout. EduIDE-deployment #111/#113 landed the day before and replaced the entire layout: deployments/<fqdn>/values.yaml became environments/<short-name>/{env.yaml,values.yaml}, and preloading.images was removed outright - images are now derived from the chart's appDefinitions. A grep for preloading on that repo's main hits only AGENTS.md and docs/environments.md, both saying not to list images.

So on main the manager matches zero files and the deployments/** package rule matches zero dependencies. Nothing breaks, but it is config asserting coverage it does not provide, which is worse than having none - it is the kind of thing someone later reads as "deployment images are handled".

This removes both.

EduIDE-deployment #116 already added the right replacement in that repo's own renovate.json: a regex manager for spec.platform.chartVersion in environments/*/env.yaml, verified to match all 8 environment manifests. Those files are an eduide.dev/v1 Environment CRD, so no built-in manager can read them, and the file shape is specific enough that the repo is the correct home for it rather than the shared preset.

The theiaPlugins custom manager is untouched and still correct - re-verified against EduIDE's main, it matches eclipse-theia/vscode-builtin-extensions@1.104.0.

How it was verified

  • renovate-config-validator --strict renovate-config.json (renovate 44.46.7) - passes.
  • git ls-tree -d origin/main on EduIDE-deployment confirms no deployments/ directory: the top level is .github clusters docs environments schemas scripts.
  • git grep preloading origin/main on that repo returns only doc hits, no config.
  • EduIDE/package.json on main still contains the GitHub release URL the surviving manager targets.

Deployment impact

  • None of the above

Risk and rollback

Removing config that matches nothing cannot change any outcome. Rollback is a revert.

The broader lesson is in renovate/README.md now: a regex manager that matches nothing looks identical to one that found nothing to update. Neither logs an error. The only way to tell them apart is --dry-run=full and reading the extraction counts, which is what caught this and what caught the ToolDockerfile pattern in EduIDE (2 files -> 18).

The preset shipped a regex manager for deployments/*/values.yaml in
EduIDE-deployment, reading the container images listed under
preloading.images. Those images were real when the config was written
against a stale checkout, but EduIDE-deployment #111/#113 replaced that
whole layout with environments/<name>/{env.yaml,values.yaml} the day
before, and dropped preloading.images entirely - images are now derived
from the chart's appDefinitions.

So the manager matched no files, and the deployments/** package rule
matched no dependencies. Harmless at runtime, but it is config that
claims coverage it does not provide, which is worse than no config.

EduIDE-deployment now manages its spec.platform.chartVersion through its
own repo-local regex manager, which is the right home for it - the file
shape is specific to that repo.

Also documents the lesson in renovate/README.md: a regex that matches
nothing is indistinguishable from one that found nothing to update, so
new managers need a dry run before they are trusted.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QLGHEpzx7D9NYHx4fCmHa9
@coderabbitai

coderabbitai Bot commented Aug 27, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 36 minutes.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: fe4597d0-6895-484b-9656-f134699ad53d

📥 Commits

Reviewing files that changed from the base of the PR and between 6e814be and 1f75ba0.

📒 Files selected for processing (2)
  • renovate-config.json
  • renovate/README.md

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Mtze
Mtze merged commit f794169 into main Aug 27, 2026
7 checks passed
@Mtze
Mtze deleted the chore/renovate-fix-dead-managers branch August 27, 2026 15:57
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