diff --git a/renovate-config.json b/renovate-config.json index 37e642d..caa8a40 100644 --- a/renovate-config.json +++ b/renovate-config.json @@ -84,15 +84,6 @@ ], "customManagers": [ - { - "customType": "regex", - "description": "EduIDE-deployment pins the student IDE images as plain YAML list items under preloading.images. The helm-values manager only understands image dicts and scalars, so without this they would never be updated.", - "managerFilePatterns": ["/^deployments/.+/values\\.ya?ml$/"], - "matchStrings": [ - "-\\s+(?ghcr\\.io/[^\\s:\"']+):(?[^\\s\"']+)" - ], - "datasourceTemplate": "docker" - }, { "customType": "regex", "description": "theiaPlugins in EduIDE/package.json pins plugin tarballs by GitHub release URL. No built-in manager reads custom manifest keys.", @@ -199,21 +190,13 @@ "addLabels": ["helm"] }, { - "description": "Image tags in values.yaml decide what actually runs - keep them apart from chart dependency bumps so one can be reverted without the other. Matched by path as well as manager, because the preloading.images list is picked up by a custom regex manager and must land in the same group.", + "description": "Image tags in values.yaml decide what actually runs - keep them apart from chart dependency bumps so one can be reverted without the other.", "matchManagers": ["helm-values"], "matchUpdateTypes": ["minor", "patch", "digest", "pin"], "groupName": "deployed image tags", "groupSlug": "helm-values", "addLabels": ["helm", "deployment"] }, - { - "description": "The preloading.images list entries, same group as the rest of the deployed image tags.", - "matchFileNames": ["deployments/**"], - "matchUpdateTypes": ["minor", "patch", "digest", "pin"], - "groupName": "deployed image tags", - "groupSlug": "helm-values", - "addLabels": ["helm", "deployment"] - }, { "description": "Tool versions pinned via '# renovate:' comments in workflows and Dockerfiles ride along with their ecosystem group.", "matchManagers": ["custom.regex"], diff --git a/renovate/README.md b/renovate/README.md index 60693ac..a482abe 100644 --- a/renovate/README.md +++ b/renovate/README.md @@ -93,15 +93,21 @@ in the npx cache, which may be years old and will reject options that are perfec ## Custom managers -Two things in this org are invisible to Renovate's built-in managers: - -- **`EduIDE-deployment/deployments/*/values.yaml`** pins the student IDE images as a plain - YAML list under `preloading.images:`. The `helm-values` manager only understands - `image: {repository, tag}` dicts and `image: repo:tag` scalars, so a regex manager covers - the list form. These are the images students actually run, so this is the highest-value - update surface in the org. -- **`EduIDE/package.json` `theiaPlugins`** pins plugin tarballs by URL. No manager reads - custom manifest keys. +Some things in this org are invisible to Renovate's built-in managers and need a regex +manager. One lives here, one lives in a repo: + +- **`EduIDE/package.json` `theiaPlugins`** pins plugin tarballs by GitHub release URL. No + built-in manager reads custom manifest keys. Covered by the preset. +- **`EduIDE-deployment/environments/*/env.yaml`** carries `spec.platform.chartVersion`. + These are `eduide.dev/v1 Environment` manifests, so neither `helmv3` nor `helm-values` + can read them. Covered by that repo's own `renovate.json`, since the file shape is + specific to it. + +**Before adding a manager here, check the path still exists.** The preset briefly shipped a +manager for `deployments/*/values.yaml` in EduIDE-deployment, matching a `preloading.images` +list. That layout had been replaced by `environments/` a day earlier, so the manager matched +nothing. A regex that matches nothing looks exactly like a regex that found nothing to +update - the only way to tell them apart is a dry run. ### Known gap: open-vsx