From b6cbbbc7cb633df8ca2fa5cb3ef2d2063ff50f84 Mon Sep 17 00:00:00 2001 From: James Thompson Date: Fri, 27 Feb 2026 12:21:22 +1100 Subject: [PATCH 1/6] Add in custom manager & rule to manage dependencies in gemspecs --- .github/renovate.json5 | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 2199def8e..9cd9fdb41 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -52,6 +52,18 @@ matchUpdateTypes: ["major"], schedule: ["before 8am on Monday"], }, + { + matchUpdateTypes: ["major"], + matchCategories: ["ruby", "docker", "custom"], + matchDepTypes: ["development_dependency"], + schedule: ["before 8am on Monday"], + }, + { + matchUpdateTypes: ["major"], + matchCategories: ["ruby", "docker", "custom"], + matchDepTypes: ["!development_dependency"], + dependencyDashboardApproval: true, + }, { matchDepNames: ["actions/setup-node", "ruby/setup-ruby"], schedule: ["before 6am every weekday"], @@ -131,6 +143,18 @@ currentValueTemplate: "{{depVersion}}", autoReplaceStringTemplate: "entrypoint sh {{packageName}}:{{newVersion}}@{{newDigest}} -c", }, + { + customType: "regex", + description: "Update dependencies in gemspecs", + managerFilePatterns: ["**/*.gemspec"], + matchStrings: [ + ".add_(?.*dependency)\\s'(?.+?)',\\s'\\S+\\s(?[0-9.]+)'", + ], + datasourceTemplate: "rubygems", + versioningTemplate: "ruby", + currentValueTemplate: "{{depVersion}}", + depTypeTemplate: "{{depType}}", + }, ], lockFileMaintenance: { enabled: true, From 0ddec136c024c03da0f641deea6515f8165fbb21 Mon Sep 17 00:00:00 2001 From: James Thompson Date: Sat, 28 Feb 2026 11:24:40 +1100 Subject: [PATCH 2/6] Update renovate.json5 --- .github/renovate.json5 | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 9cd9fdb41..a61ee6245 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -55,13 +55,6 @@ { matchUpdateTypes: ["major"], matchCategories: ["ruby", "docker", "custom"], - matchDepTypes: ["development_dependency"], - schedule: ["before 8am on Monday"], - }, - { - matchUpdateTypes: ["major"], - matchCategories: ["ruby", "docker", "custom"], - matchDepTypes: ["!development_dependency"], dependencyDashboardApproval: true, }, { @@ -91,6 +84,20 @@ matchDepNames: ["mysql"], minimumReleaseAge: "1765 days", }, + { + matchCategories: ["custom"], + matchDepTypes: ["!dependency"], + matchFileNames: ["**/*.gemspec"], + enabled: false, + }, + { + matchFileNames: [ + ".github/actions/test_gem/action.yml", + ".github/workflows/installation-tests.yml", + ".github/workflows/release-*.yml", + ], + ignoreDeps: ["ruby"], + }, ], customManagers: [ { From 1c8c613947709fe24c27c074574eb28ddcdd3054 Mon Sep 17 00:00:00 2001 From: James Thompson Date: Thu, 12 Mar 2026 13:47:29 +1100 Subject: [PATCH 3/6] Handle more cases --- .github/renovate.json5 | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/.github/renovate.json5 b/.github/renovate.json5 index a61ee6245..9814d6177 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -152,10 +152,23 @@ }, { customType: "regex", - description: "Update dependencies in gemspecs", + description: "Update Pessimistic dependencies in gemspecs", managerFilePatterns: ["**/*.gemspec"], matchStrings: [ - ".add_(?.*dependency)\\s'(?.+?)',\\s'\\S+\\s(?[0-9.]+)'", + ".add_(?.*dependency)\\s'(?.+?)',\\s'~>\\s(?[0-9.]+)'", + ], + datasourceTemplate: "rubygems", + versioningTemplate: "ruby", + currentValueTemplate: "~> {{depVersion}}", + depTypeTemplate: "{{depType}}", + }, + { + customType: "regex", + description: "Update Non-Pessimistic dependencies in gemspecs", + managerFilePatterns: ["**/*.gemspec"], + matchStrings: [ + ".add_(?.*dependency)\\s'(?.+?)',\\s'>=\\s(?[0-9.]+)'", + ".add_(?.*dependency)\\s'(?.+?)',\\s'(?[0-9.]+)'", ], datasourceTemplate: "rubygems", versioningTemplate: "ruby", From b2addc0f330448844fff3bb83acc14b22f82641a Mon Sep 17 00:00:00 2001 From: James Thompson Date: Thu, 12 Mar 2026 15:30:49 +1100 Subject: [PATCH 4/6] Exclude ruby from dependency matching in Renovate config --- .github/renovate.json5 | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 9814d6177..aca5f06d9 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -86,6 +86,7 @@ }, { matchCategories: ["custom"], + matchDepNames: ["!ruby"], matchDepTypes: ["!dependency"], matchFileNames: ["**/*.gemspec"], enabled: false, From 31b78d81da09790a30533ffdf2952b689c18c62b Mon Sep 17 00:00:00 2001 From: James Thompson Date: Fri, 13 Mar 2026 12:50:43 +1100 Subject: [PATCH 5/6] Review feedback --- .github/renovate.json5 | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/renovate.json5 b/.github/renovate.json5 index aca5f06d9..d7c03f57c 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -85,12 +85,20 @@ minimumReleaseAge: "1765 days", }, { + description: "Only update general dependencies and ruby in gemspec files", matchCategories: ["custom"], matchDepNames: ["!ruby"], matchDepTypes: ["!dependency"], matchFileNames: ["**/*.gemspec"], enabled: false, }, + { + description: "Bump dependencies in gemspec files", + matchCategories: ["custom"], + matchDepNames: ["!ruby"], + matchFileNames: ["**/*.gemspec"], + rangeStrategy: "bump", + }, { matchFileNames: [ ".github/actions/test_gem/action.yml", @@ -161,7 +169,6 @@ datasourceTemplate: "rubygems", versioningTemplate: "ruby", currentValueTemplate: "~> {{depVersion}}", - depTypeTemplate: "{{depType}}", }, { customType: "regex", @@ -174,7 +181,6 @@ datasourceTemplate: "rubygems", versioningTemplate: "ruby", currentValueTemplate: "{{depVersion}}", - depTypeTemplate: "{{depType}}", }, ], lockFileMaintenance: { From d17987ab53901e2af2ff94b5856c63db35e268f0 Mon Sep 17 00:00:00 2001 From: James Thompson Date: Thu, 26 Mar 2026 13:02:53 +1100 Subject: [PATCH 6/6] consolidation of managers --- .github/renovate.json5 | 41 +++++------------------------------------ 1 file changed, 5 insertions(+), 36 deletions(-) diff --git a/.github/renovate.json5 b/.github/renovate.json5 index d7c03f57c..12152817e 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -52,11 +52,6 @@ matchUpdateTypes: ["major"], schedule: ["before 8am on Monday"], }, - { - matchUpdateTypes: ["major"], - matchCategories: ["ruby", "docker", "custom"], - dependencyDashboardApproval: true, - }, { matchDepNames: ["actions/setup-node", "ruby/setup-ruby"], schedule: ["before 6am every weekday"], @@ -85,27 +80,13 @@ minimumReleaseAge: "1765 days", }, { - description: "Only update general dependencies and ruby in gemspec files", + description: "Require non-general dependencies in gemspec files to be approved", + dependencyDashboardCategory: "{{depType}} should be migrated to Gemfile", matchCategories: ["custom"], matchDepNames: ["!ruby"], matchDepTypes: ["!dependency"], matchFileNames: ["**/*.gemspec"], - enabled: false, - }, - { - description: "Bump dependencies in gemspec files", - matchCategories: ["custom"], - matchDepNames: ["!ruby"], - matchFileNames: ["**/*.gemspec"], - rangeStrategy: "bump", - }, - { - matchFileNames: [ - ".github/actions/test_gem/action.yml", - ".github/workflows/installation-tests.yml", - ".github/workflows/release-*.yml", - ], - ignoreDeps: ["ruby"], + dependencyDashboardApproval: true, }, ], customManagers: [ @@ -161,22 +142,10 @@ }, { customType: "regex", - description: "Update Pessimistic dependencies in gemspecs", - managerFilePatterns: ["**/*.gemspec"], - matchStrings: [ - ".add_(?.*dependency)\\s'(?.+?)',\\s'~>\\s(?[0-9.]+)'", - ], - datasourceTemplate: "rubygems", - versioningTemplate: "ruby", - currentValueTemplate: "~> {{depVersion}}", - }, - { - customType: "regex", - description: "Update Non-Pessimistic dependencies in gemspecs", + description: "Update dependencies in gemspecs", managerFilePatterns: ["**/*.gemspec"], matchStrings: [ - ".add_(?.*dependency)\\s'(?.+?)',\\s'>=\\s(?[0-9.]+)'", - ".add_(?.*dependency)\\s'(?.+?)',\\s'(?[0-9.]+)'", + ".add_(?.*dependency)\\s'(?.+?)',\\s'(?.+\\s[0-9.]+)'", ], datasourceTemplate: "rubygems", versioningTemplate: "ruby",