From 4cfc4ebd6be21aa9bde638ac5fc4c8866fd61e15 Mon Sep 17 00:00:00 2001 From: TheMeinerLP Date: Tue, 25 Aug 2026 08:18:45 +0200 Subject: [PATCH] chore(renovate): add dashboard, lockfile maintenance and pub rules Enable the dependency dashboard and weekly pubspec.lock maintenance, and teach Renovate how pub actually behaves: pubspec pins caret ranges, so the default replace strategy never fires for an in-range update and Dart deps silently went stale. Group Dart minor updates into one automerged PR. Switch the chart-template image manager to an explicit `# renovate:` marker instead of matching every `image: name:tag` line. The chart's own image is templated from appVersion and carries no version to match on, so the only thing this manager ever finds is a third-party image - making that explicit keeps it from silently matching something it shouldn't. Co-Authored-By: Claude Opus 5 (1M context) --- .../templates/tests/test-connection.yaml | 1 + renovate.json | 39 ++++++++++++------- 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/charts/stelaris-ui/templates/tests/test-connection.yaml b/charts/stelaris-ui/templates/tests/test-connection.yaml index 6fba0a64..1f036dbf 100644 --- a/charts/stelaris-ui/templates/tests/test-connection.yaml +++ b/charts/stelaris-ui/templates/tests/test-connection.yaml @@ -17,6 +17,7 @@ spec: type: RuntimeDefault containers: - name: check + # renovate: datasource=docker depName=curlimages/curl image: curlimages/curl:8.20.1 securityContext: allowPrivilegeEscalation: false diff --git a/renovate.json b/renovate.json index d2dd80fb..38355fa6 100644 --- a/renovate.json +++ b/renovate.json @@ -3,25 +3,37 @@ "extends": [ "github>OneLiteFeatherNET/renovate:default(OneLiteFeatherNET/stelaris-maintainers)" ], + "dependencyDashboard": true, + "lockFileMaintenance": { + "enabled": true, + "schedule": ["before 5am on monday"] + }, "packageRules": [ { - "matchUpdateTypes": [ - "patch" - ], + "description": "pubspec uses caret ranges, replace would never fire for in-range updates", + "matchManagers": ["pub"], + "rangeStrategy": "bump" + }, + { + "matchUpdateTypes": ["patch"], "automerge": true }, + { + "description": "Dart/Flutter minor updates, grouped and automerged after the cooldown", + "matchManagers": ["pub"], + "matchUpdateTypes": ["minor"], + "groupName": "dart dependencies", + "automerge": true, + "automergeType": "pr" + }, { "description": "Dependencies whose updates shouldn't be done automatically", - "matchPackageNames": [ - "intl" - ], + "matchPackageNames": ["intl"], "enabled": false }, { "description": "One PR for the Flutter SDK, so the Dockerfile and the workflows can never end up on different versions", - "matchDatasources": [ - "flutter-version" - ], + "matchDatasources": ["flutter-version"], "groupName": "flutter sdk" } ], @@ -43,14 +55,13 @@ }, { "customType": "regex", - "description": "Container images referenced from the Helm chart's templates", + "description": "Third-party images pinned in the Helm chart's templates, marked with a renovate comment. The chart's own image carries no version here - it is templated from appVersion.", "managerFilePatterns": [ - "/^charts/[^/]+/templates/.+\\.yaml$/" + "/^charts/[^/]+/templates/.+\\.ya?ml$/" ], "matchStrings": [ - "image: (?[a-z0-9./-]+):(?[^\\s@\"']+)" - ], - "datasourceTemplate": "docker" + "# renovate: datasource=(?\\S+) depName=(?\\S+)\\s+image: \\S+:(?[^\\s@\"']+)" + ] }, { "customType": "regex",