Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 1 addition & 18 deletions renovate-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -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+(?<depName>ghcr\\.io/[^\\s:\"']+):(?<currentValue>[^\\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.",
Expand Down Expand Up @@ -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"],
Expand Down
24 changes: 15 additions & 9 deletions renovate/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
Loading