fix(renovate): drop a custom manager that matches nothing - #5
Merged
Conversation
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
|
Warning Review limit reachedNext included review available in 36 minutes. View limit detailsLimit 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. Review configuration: ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
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. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What and why
Correcting a mistake I shipped in #4.
The preset included a regex custom manager for
deployments/*/values.yamlinEduIDE-deployment, reading the student IDE images listed underpreloading.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.yamlbecameenvironments/<short-name>/{env.yaml,values.yaml}, andpreloading.imageswas removed outright - images are now derived from the chart'sappDefinitions. A grep forpreloadingon that repo'smainhits onlyAGENTS.mdanddocs/environments.md, both saying not to list images.So on
mainthe manager matches zero files and thedeployments/**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 ownrenovate.json: a regex manager forspec.platform.chartVersioninenvironments/*/env.yaml, verified to match all 8 environment manifests. Those files are aneduide.dev/v1 EnvironmentCRD, 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
theiaPluginscustom manager is untouched and still correct - re-verified againstEduIDE'smain, it matcheseclipse-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/mainon EduIDE-deployment confirms nodeployments/directory: the top level is.github clusters docs environments schemas scripts.git grep preloading origin/mainon that repo returns only doc hits, no config.EduIDE/package.jsononmainstill contains the GitHub release URL the surviving manager targets.Deployment impact
Risk and rollback
Removing config that matches nothing cannot change any outcome. Rollback is a revert.
The broader lesson is in
renovate/README.mdnow: 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=fulland reading the extraction counts, which is what caught this and what caught theToolDockerfilepattern inEduIDE(2 files -> 18).