From 4fb9c67cd2b659b9d4490c58818859340a03debd Mon Sep 17 00:00:00 2001 From: Jan Graichen Date: Mon, 24 Jan 2022 17:45:48 +0100 Subject: [PATCH 01/23] Fiat lux --- default.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 default.json diff --git a/default.json b/default.json new file mode 100644 index 0000000..526ef75 --- /dev/null +++ b/default.json @@ -0,0 +1,43 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:base", + "schedule:weekly", + ":maintainLockFilesWeekly" + ], + "dependencyDashboard": true, + "dependencyDashboardAutoclose": true, + "packageRules": [ + { + "matchFiles": [ + "package.json" + ], + "matchUpdateTypes": [ + "minor", + "patch" + ], + "groupName": "node" + }, + { + "matchFiles": [ + "Gemfile" + ], + "matchUpdateTypes": [ + "minor", + "patch" + ], + "groupName": "ruby" + } + ], + "regexManagers": [ + { + "fileMatch": [ + "^*.gemspec" + ], + "matchStrings": [ + ".*add.*dependency '(?.*?)', '(?.*?)'" + ], + "datasourceTemplate": "rubygems" + } + ] +} \ No newline at end of file From a12675b6d9707929f880eb358a4ffbc546ada77c Mon Sep 17 00:00:00 2001 From: Jan Graichen Date: Wed, 16 Mar 2022 12:04:42 +0100 Subject: [PATCH 02/23] renovate: Do not close dashboard issue That is actually really noisy. --- default.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/default.json b/default.json index 526ef75..0520e89 100644 --- a/default.json +++ b/default.json @@ -6,7 +6,6 @@ ":maintainLockFilesWeekly" ], "dependencyDashboard": true, - "dependencyDashboardAutoclose": true, "packageRules": [ { "matchFiles": [ @@ -40,4 +39,4 @@ "datasourceTemplate": "rubygems" } ] -} \ No newline at end of file +} From 6977d4295c95677361305c162bef92b007a0d8b8 Mon Sep 17 00:00:00 2001 From: Jan Graichen Date: Tue, 16 Aug 2022 21:23:27 +0200 Subject: [PATCH 03/23] Add editorconfig --- .editorconfig | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..2265467 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +# EditorConfig is awesome: https://EditorConfig.org + +# top-most EditorConfig file +root = true + +[*] +indent_style = tab +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true From 0a53ea0a6dcbaf9b303bf80bf8363be731d8bb71 Mon Sep 17 00:00:00 2001 From: Jan Graichen Date: Tue, 16 Aug 2022 21:24:07 +0200 Subject: [PATCH 04/23] Extract presets into json5 JSON5 for presets is supported by renovate now --- README.md | 1 + default.json | 44 ++++---------------------------------------- default.json5 | 11 +++++++++++ node.json5 | 10 ++++++++++ ruby.json5 | 19 +++++++++++++++++++ 5 files changed, 45 insertions(+), 40 deletions(-) create mode 100644 README.md create mode 100644 default.json5 create mode 100644 node.json5 create mode 100644 ruby.json5 diff --git a/README.md b/README.md new file mode 100644 index 0000000..f685472 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# Shared Renovate Presets \ No newline at end of file diff --git a/default.json b/default.json index 0520e89..e51781c 100644 --- a/default.json +++ b/default.json @@ -1,42 +1,6 @@ { - "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "extends": [ - "config:base", - "schedule:weekly", - ":maintainLockFilesWeekly" - ], - "dependencyDashboard": true, - "packageRules": [ - { - "matchFiles": [ - "package.json" - ], - "matchUpdateTypes": [ - "minor", - "patch" - ], - "groupName": "node" - }, - { - "matchFiles": [ - "Gemfile" - ], - "matchUpdateTypes": [ - "minor", - "patch" - ], - "groupName": "ruby" - } - ], - "regexManagers": [ - { - "fileMatch": [ - "^*.gemspec" - ], - "matchStrings": [ - ".*add.*dependency '(?.*?)', '(?.*?)'" - ], - "datasourceTemplate": "rubygems" - } - ] + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "github>jgraichen/renovate-config:default.json5" + ] } diff --git a/default.json5 b/default.json5 new file mode 100644 index 0000000..1003974 --- /dev/null +++ b/default.json5 @@ -0,0 +1,11 @@ +{ + $schema: "https://docs.renovatebot.com/renovate-schema.json", + extends: [ + "config:base", + "schedule:weekly", + ":maintainLockFilesWeekly", + "github>jgraichen/renovate-config:node.json5", + "github>jgraichen/renovate-config:ruby.json5", + ], + dependencyDashboard: true, +} diff --git a/node.json5 b/node.json5 new file mode 100644 index 0000000..37373cb --- /dev/null +++ b/node.json5 @@ -0,0 +1,10 @@ +{ + $schema: "https://docs.renovatebot.com/renovate-schema.json", + packageRules: [ + { + matchFiles: ["package.json"], + matchUpdateTypes: ["minor", "patch"], + groupName: "node", + }, + ], +} diff --git a/ruby.json5 b/ruby.json5 new file mode 100644 index 0000000..eb62d3b --- /dev/null +++ b/ruby.json5 @@ -0,0 +1,19 @@ +{ + $schema: "https://docs.renovatebot.com/renovate-schema.json", + packageRules: [ + { + matchFiles: ["Gemfile"], + matchUpdateTypes: ["minor", "patch"], + groupName: "ruby", + }, + ], + regexManagers: [ + { + fileMatch: ["^*.gemspec"], + matchStrings: [ + ".*add.*dependency '(?.*?)', '(?.*?)'", + ], + datasourceTemplate: "rubygems", + }, + ], +} From e704e04a581c69967681c77cd0bf6c8c1d506fdc Mon Sep 17 00:00:00 2001 From: Jan Graichen Date: Tue, 16 Aug 2022 21:24:30 +0200 Subject: [PATCH 05/23] Add go preset --- default.json5 | 1 + go.json5 | 12 ++++++++++++ 2 files changed, 13 insertions(+) create mode 100644 go.json5 diff --git a/default.json5 b/default.json5 index 1003974..c2084b3 100644 --- a/default.json5 +++ b/default.json5 @@ -4,6 +4,7 @@ "config:base", "schedule:weekly", ":maintainLockFilesWeekly", + "github>jgraichen/renovate-config:go.json5", "github>jgraichen/renovate-config:node.json5", "github>jgraichen/renovate-config:ruby.json5", ], diff --git a/go.json5 b/go.json5 new file mode 100644 index 0000000..2017a32 --- /dev/null +++ b/go.json5 @@ -0,0 +1,12 @@ +{ + $schema: "https://docs.renovatebot.com/renovate-schema.json", + postUpdateOptions: ["gomodTidy", "gomodUpdateImportPaths"], + regexManagers: [ + { + fileMatch: [".github/workflow/*.yml"], + matchStrings: ['go-version: "(?.*?)"'], + depNameTemplate: "golang", + datasourceTemplate: "golang-version", + }, + ], +} From 216167ae422d478e599f481d135e299da9ec3367 Mon Sep 17 00:00:00 2001 From: Jan Graichen Date: Tue, 16 Aug 2022 21:30:17 +0200 Subject: [PATCH 06/23] go: Try to match go-version in actions/setup-go --- go.json5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.json5 b/go.json5 index 2017a32..5316f67 100644 --- a/go.json5 +++ b/go.json5 @@ -3,7 +3,7 @@ postUpdateOptions: ["gomodTidy", "gomodUpdateImportPaths"], regexManagers: [ { - fileMatch: [".github/workflow/*.yml"], + fileMatch: ["^\\.github/workflow/[^/]+\\.ya?ml$"], matchStrings: ['go-version: "(?.*?)"'], depNameTemplate: "golang", datasourceTemplate: "golang-version", From 245a923fb7c172be624125d0dcdba45859ecee5a Mon Sep 17 00:00:00 2001 From: Jan Graichen Date: Tue, 16 Aug 2022 21:33:47 +0200 Subject: [PATCH 07/23] go: Try to match go-version in actions/setup-go #2 --- go.json5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.json5 b/go.json5 index 5316f67..5e67c10 100644 --- a/go.json5 +++ b/go.json5 @@ -3,7 +3,7 @@ postUpdateOptions: ["gomodTidy", "gomodUpdateImportPaths"], regexManagers: [ { - fileMatch: ["^\\.github/workflow/[^/]+\\.ya?ml$"], + fileMatch: ["^\\.github\/workflows\/[^/]+\\.ya?ml$"], matchStrings: ['go-version: "(?.*?)"'], depNameTemplate: "golang", datasourceTemplate: "golang-version", From 5d6cbf00920100b86802e5753cf23e6cd45a9991 Mon Sep 17 00:00:00 2001 From: Jan Graichen Date: Tue, 16 Aug 2022 21:38:54 +0200 Subject: [PATCH 08/23] go: Goup and pin versions --- go.json5 | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/go.json5 b/go.json5 index 5e67c10..fce7df4 100644 --- a/go.json5 +++ b/go.json5 @@ -1,9 +1,17 @@ { $schema: "https://docs.renovatebot.com/renovate-schema.json", postUpdateOptions: ["gomodTidy", "gomodUpdateImportPaths"], + packageRules: [ + { + matchDatasources: ["golang-version"], + versioning: "npm", + rangeStrategy: "pin", + groupName: "golang", + }, + ], regexManagers: [ { - fileMatch: ["^\\.github\/workflows\/[^/]+\\.ya?ml$"], + fileMatch: ["^\\.github/workflows/[^/]+\\.ya?ml$"], matchStrings: ['go-version: "(?.*?)"'], depNameTemplate: "golang", datasourceTemplate: "golang-version", From 1ffc8acc8208d6dfb280a9747016f5799fd8cf8f Mon Sep 17 00:00:00 2001 From: Jan Graichen Date: Tue, 16 Aug 2022 21:42:36 +0200 Subject: [PATCH 09/23] go: replace instead of pin Golang does not like trailing zeros --- go.json5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.json5 b/go.json5 index fce7df4..927b59a 100644 --- a/go.json5 +++ b/go.json5 @@ -5,7 +5,7 @@ { matchDatasources: ["golang-version"], versioning: "npm", - rangeStrategy: "pin", + rangeStrategy: "replace", groupName: "golang", }, ], From 89939125c45dea6ccd7e20ac17b75bd2d182bde5 Mon Sep 17 00:00:00 2001 From: Jan Graichen Date: Tue, 16 Aug 2022 21:44:05 +0200 Subject: [PATCH 10/23] go: bump instead of replace -.- --- go.json5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.json5 b/go.json5 index 927b59a..5b90484 100644 --- a/go.json5 +++ b/go.json5 @@ -5,7 +5,7 @@ { matchDatasources: ["golang-version"], versioning: "npm", - rangeStrategy: "replace", + rangeStrategy: "bump", groupName: "golang", }, ], From c35af087bf714885709cc08f1b5059b538cbe094 Mon Sep 17 00:00:00 2001 From: Jan Graichen Date: Tue, 16 Aug 2022 21:47:20 +0200 Subject: [PATCH 11/23] Revert "go: bump instead of replace -.-" This reverts commit 89939125c45dea6ccd7e20ac17b75bd2d182bde5. --- go.json5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.json5 b/go.json5 index 5b90484..927b59a 100644 --- a/go.json5 +++ b/go.json5 @@ -5,7 +5,7 @@ { matchDatasources: ["golang-version"], versioning: "npm", - rangeStrategy: "bump", + rangeStrategy: "replace", groupName: "golang", }, ], From 1a6daaf83f689b2850af1c0a42f4ec3412194e8e Mon Sep 17 00:00:00 2001 From: Jan Graichen Date: Tue, 16 Aug 2022 21:55:13 +0200 Subject: [PATCH 12/23] Update README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f685472..de8fc3a 100644 --- a/README.md +++ b/README.md @@ -1 +1 @@ -# Shared Renovate Presets \ No newline at end of file +# Shared Renovate Presets From f61507d619922e1ca244522c05104a661b186560 Mon Sep 17 00:00:00 2001 From: Jan Graichen Date: Sat, 9 Mar 2024 17:33:49 +0100 Subject: [PATCH 13/23] feat: Try grouping all same python packages together --- default.json5 | 1 + python.json5 | 10 ++++++++++ 2 files changed, 11 insertions(+) create mode 100644 python.json5 diff --git a/default.json5 b/default.json5 index c2084b3..abd9847 100644 --- a/default.json5 +++ b/default.json5 @@ -7,6 +7,7 @@ "github>jgraichen/renovate-config:go.json5", "github>jgraichen/renovate-config:node.json5", "github>jgraichen/renovate-config:ruby.json5", + "github>jgraichen/renovate-config:python.json5", ], dependencyDashboard: true, } diff --git a/python.json5 b/python.json5 new file mode 100644 index 0000000..7afb996 --- /dev/null +++ b/python.json5 @@ -0,0 +1,10 @@ +{ + $schema: "https://docs.renovatebot.com/renovate-schema.json", + packageRules: [ + { + matchFiles: ["pyproject.toml"], + matchDepTypes: ["*"], + groupName: "{{ packageName }}", + }, + ], +} From 4b592dd759cee836b6dbffa4fb60639c1323f332 Mon Sep 17 00:00:00 2001 From: Jan Graichen Date: Sat, 9 Mar 2024 17:43:37 +0100 Subject: [PATCH 14/23] chore(python): Name prefixing will be disabled soon See https://github.com/renovatebot/renovate/discussions/27372#discussioncomment-8499387. --- default.json5 | 1 - python.json5 | 10 ---------- 2 files changed, 11 deletions(-) delete mode 100644 python.json5 diff --git a/default.json5 b/default.json5 index abd9847..c2084b3 100644 --- a/default.json5 +++ b/default.json5 @@ -7,7 +7,6 @@ "github>jgraichen/renovate-config:go.json5", "github>jgraichen/renovate-config:node.json5", "github>jgraichen/renovate-config:ruby.json5", - "github>jgraichen/renovate-config:python.json5", ], dependencyDashboard: true, } diff --git a/python.json5 b/python.json5 deleted file mode 100644 index 7afb996..0000000 --- a/python.json5 +++ /dev/null @@ -1,10 +0,0 @@ -{ - $schema: "https://docs.renovatebot.com/renovate-schema.json", - packageRules: [ - { - matchFiles: ["pyproject.toml"], - matchDepTypes: ["*"], - groupName: "{{ packageName }}", - }, - ], -} From 0101bdd600653841e51d8da6353cb05cac07f318 Mon Sep 17 00:00:00 2001 From: Jan Graichen Date: Sat, 9 Mar 2024 17:47:02 +0100 Subject: [PATCH 15/23] feat: Add auto-merge preset --- automerge.json | 6 ++++++ automerge.json5 | 15 +++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 automerge.json create mode 100644 automerge.json5 diff --git a/automerge.json b/automerge.json new file mode 100644 index 0000000..621c276 --- /dev/null +++ b/automerge.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "github>jgraichen/renovate-config:automerge.json5" + ] +} diff --git a/automerge.json5 b/automerge.json5 new file mode 100644 index 0000000..abf53c8 --- /dev/null +++ b/automerge.json5 @@ -0,0 +1,15 @@ +{ + $schema: "https://docs.renovatebot.com/renovate-schema.json", + packageRules: [ + { + matchUpdateTypes: [ + "minor", + "patch", + "pin", + "digest", + "lockFileMaintenance", + ], + automerge: true, + }, + ], +} From fee97c0c8f3c2e26e14075bc8c69da16c077bc09 Mon Sep 17 00:00:00 2001 From: Jan Graichen Date: Sat, 9 Mar 2024 18:08:51 +0100 Subject: [PATCH 16/23] chore: automerge to repo dependent --- automerge.json | 6 ------ automerge.json5 | 15 --------------- 2 files changed, 21 deletions(-) delete mode 100644 automerge.json delete mode 100644 automerge.json5 diff --git a/automerge.json b/automerge.json deleted file mode 100644 index 621c276..0000000 --- a/automerge.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "extends": [ - "github>jgraichen/renovate-config:automerge.json5" - ] -} diff --git a/automerge.json5 b/automerge.json5 deleted file mode 100644 index abf53c8..0000000 --- a/automerge.json5 +++ /dev/null @@ -1,15 +0,0 @@ -{ - $schema: "https://docs.renovatebot.com/renovate-schema.json", - packageRules: [ - { - matchUpdateTypes: [ - "minor", - "patch", - "pin", - "digest", - "lockFileMaintenance", - ], - automerge: true, - }, - ], -} From 6d11d191d75e619ee4e12af58f1217bc41ef9420 Mon Sep 17 00:00:00 2001 From: Jan Graichen Date: Sat, 9 Mar 2024 18:12:32 +0100 Subject: [PATCH 17/23] feat: Disable non-working platform native automerge --- default.json5 | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/default.json5 b/default.json5 index c2084b3..6a045cc 100644 --- a/default.json5 +++ b/default.json5 @@ -9,4 +9,14 @@ "github>jgraichen/renovate-config:ruby.json5", ], dependencyDashboard: true, + + // Do not use GitHub's platform native automerge. It requires + // configuring required checks, which is an allowlist only approach + // and cumbersome to use because EVERY check needs to be listed, and + // new checks are not added automatically. There is no option to + // "required all except". + platformAutomerge: false, + + // Have renovate sign commits as GitHub App. + platformCommit: true, } From 8ad742cd21134396e60d032f0034998105ba668f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 2 Apr 2024 11:58:55 +0000 Subject: [PATCH 18/23] Add renovate.json --- renovate.json | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 renovate.json diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000..c9f6381 --- /dev/null +++ b/renovate.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "local>jgraichen/renovate-config" + ] +} From 29dbaccbdf1e96243b6fa5e0732ae35246b3cac0 Mon Sep 17 00:00:00 2001 From: Jan Graichen Date: Wed, 15 May 2024 19:34:58 +0200 Subject: [PATCH 19/23] WIP --- README.md | 11 +++++++++++ default.json | 2 +- default.json5 | 27 ++++++++++++++++++++++++--- node.json5 | 10 +++++++++- ruby.json5 | 8 +++++++- terraform.json5 | 18 ++++++++++++++++++ tool-version.json5 | 21 +++++++++++++++++++++ 7 files changed, 91 insertions(+), 6 deletions(-) create mode 100644 terraform.json5 create mode 100644 tool-version.json5 diff --git a/README.md b/README.md index de8fc3a..10a773a 100644 --- a/README.md +++ b/README.md @@ -1 +1,12 @@ # Shared Renovate Presets + +Shared configuration preset for @renovatebot. + +```json5 title="renovate.json5" +{ + $schema: "https://docs.renovatebot.com/renovate-schema.json", + extends: [ + "local>openhpi-cloud/renovate-config" + ] +} +``` diff --git a/default.json b/default.json index e51781c..46b7910 100644 --- a/default.json +++ b/default.json @@ -1,6 +1,6 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": [ - "github>jgraichen/renovate-config:default.json5" + "local>openhpi-cloud/renovate-config:default.json5" ] } diff --git a/default.json5 b/default.json5 index 6a045cc..14ae553 100644 --- a/default.json5 +++ b/default.json5 @@ -4,12 +4,19 @@ "config:base", "schedule:weekly", ":maintainLockFilesWeekly", - "github>jgraichen/renovate-config:go.json5", - "github>jgraichen/renovate-config:node.json5", - "github>jgraichen/renovate-config:ruby.json5", + "local>openhpi-cloud/renovate-config:go.json5", + "local>openhpi-cloud/renovate-config:node.json5", + "local>openhpi-cloud/renovate-config:ruby.json5", + "local>openhpi-cloud/renovate-config:terraform.json5", + "local>openhpi-cloud/renovate-config:tool-version.json5", ], + + // Useful defaults + semanticCommits: "enabled", dependencyDashboard: true, + assignees: ["jgraichen"], + // Do not use GitHub's platform native automerge. It requires // configuring required checks, which is an allowlist only approach // and cumbersome to use because EVERY check needs to be listed, and @@ -19,4 +26,18 @@ // Have renovate sign commits as GitHub App. platformCommit: true, + + packageRules: [ + // Automerge minor updates if CI passes + { + matchUpdateTypes: [ + "minor", + "patch", + "pin", + "digest", + "lockFileMaintenance", + ], + automerge: true, + }, + ], } diff --git a/node.json5 b/node.json5 index 37373cb..5f2fd37 100644 --- a/node.json5 +++ b/node.json5 @@ -4,7 +4,15 @@ { matchFiles: ["package.json"], matchUpdateTypes: ["minor", "patch"], - groupName: "node", + groupName: "NPM dependencies", + }, + ], + regexManagers: [ + { + fileMatch: ["^\\.github/workflows/[^/]+\\.ya?ml$"], + matchStrings: ['node-version:\\s+"(?.*?)"'], + depNameTemplate: "node", + datasourceTemplate: "node-version", }, ], } diff --git a/ruby.json5 b/ruby.json5 index eb62d3b..2b351a2 100644 --- a/ruby.json5 +++ b/ruby.json5 @@ -4,7 +4,7 @@ { matchFiles: ["Gemfile"], matchUpdateTypes: ["minor", "patch"], - groupName: "ruby", + groupName: "gems dependencies", }, ], regexManagers: [ @@ -15,5 +15,11 @@ ], datasourceTemplate: "rubygems", }, + { + fileMatch: ["^\\.github/workflows/[^/]+\\.ya?ml$"], + matchStrings: ['ruby-version:\\s+"(?.*?)"'], + depNameTemplate: "ruby", + datasourceTemplate: "ruby-version", + }, ], } diff --git a/terraform.json5 b/terraform.json5 new file mode 100644 index 0000000..b00252f --- /dev/null +++ b/terraform.json5 @@ -0,0 +1,18 @@ +{ + $schema: "https://docs.renovatebot.com/renovate-schema.json", + packageRules: [ + // Group updates for Terraform binaries and hashicorp/terraform + // container images together. + { + groupName: "terraform", + matchPackageNames: ["hashicorp/terraform", "terraform"], + }, + // Do not automerge major _and_ minor versions, since minor updates + // can contain breaking changes for Terraform. + { + matchPackageNames: ["hashicorp/terraform", "terraform"], + matchUpdateTypes: ["major", "minor"], + automerge: false, + }, + ], +} diff --git a/tool-version.json5 b/tool-version.json5 new file mode 100644 index 0000000..7d5f249 --- /dev/null +++ b/tool-version.json5 @@ -0,0 +1,21 @@ +{ + $schema: "https://docs.renovatebot.com/renovate-schema.json", + packageRules: [ + // Strip the "v" prefix from usual GitHub tags/release since asdf + // plugins mostly use raw versions only. + { + matchManagers: ["regex"], + matchPaths: [".tool-versions"], + extractVersion: "^v?(?.*)$", + }, + ], + regexManagers: [ + { + fileMatch: [".tool-versions$"], + matchStrings: [ + "#\\s*renovate:\\s+datasource=(?.*?)\\s+depName=(?.*?)(\\s+versioning=(?.*?))?\\n\\w+\\s+(?.*)", + ], + versioningTemplate: "{{#if versioning}}{{{versioning}}}{{else}}semver{{/if}}", + }, + ], +} From 9bbeb385d3e02a94ef0d51345c02d58edd6e6cba Mon Sep 17 00:00:00 2001 From: Jan Graichen Date: Wed, 15 May 2024 20:03:05 +0200 Subject: [PATCH 20/23] fix: local renovate preset extend --- renovate.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/renovate.json b/renovate.json index c9f6381..f475989 100644 --- a/renovate.json +++ b/renovate.json @@ -1,6 +1,6 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": [ - "local>jgraichen/renovate-config" + "local>openhpi-cloud/renovate-config" ] } From bfa41ace515890e45eec8b31689f0eb8954a1a24 Mon Sep 17 00:00:00 2001 From: Jan Graichen Date: Wed, 15 May 2024 20:03:28 +0200 Subject: [PATCH 21/23] feat: validate renovate preset configurations --- .editorconfig | 3 +++ .github/workflows/test.yml | 15 +++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 .github/workflows/test.yml diff --git a/.editorconfig b/.editorconfig index 2265467..e153a68 100644 --- a/.editorconfig +++ b/.editorconfig @@ -10,3 +10,6 @@ end_of_line = lf charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true + +[*.{yml,yaml}] +indent_style = space diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..c602c58 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,15 @@ +name: test +on: + push: + pull_request: + +jobs: + renovate-config-validator: + runs-on: ubuntu-latest + container: + image: ghcr.io/renovatebot/renovate + options: --user root + steps: + - uses: actions/checkout@v4 + - run: ls -lah + - run: renovate-config-validator --strict *.json5 From 8352e2bc9cacd8d96d67e9307a9ad6fe32431ca7 Mon Sep 17 00:00:00 2001 From: Jan Graichen Date: Wed, 15 May 2024 20:20:54 +0200 Subject: [PATCH 22/23] chore: Update renovate presets to latest format --- README.md | 13 +++++++++++++ default.json5 | 2 +- go.json5 | 3 ++- node.json5 | 5 +++-- ruby.json5 | 6 ++++-- tool-version.json5 | 7 ++++--- 6 files changed, 27 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 10a773a..06d9816 100644 --- a/README.md +++ b/README.md @@ -10,3 +10,16 @@ Shared configuration preset for @renovatebot. ] } ``` + +## Validate preset configs locally + +```console +$ docker run -it --rm -v .:/usr/src/app --entrypoint renovate-config-validator renovate/renovate --strict *.json5 + INFO: Validating default.json5 + INFO: Validating go.json5 + INFO: Validating node.json5 + INFO: Validating ruby.json5 + INFO: Validating terraform.json5 + INFO: Validating tool-version.json5 + INFO: Config validated successfully +``` diff --git a/default.json5 b/default.json5 index 14ae553..4595ee6 100644 --- a/default.json5 +++ b/default.json5 @@ -1,7 +1,7 @@ { $schema: "https://docs.renovatebot.com/renovate-schema.json", extends: [ - "config:base", + "config:recommended", "schedule:weekly", ":maintainLockFilesWeekly", "local>openhpi-cloud/renovate-config:go.json5", diff --git a/go.json5 b/go.json5 index 927b59a..825ceb6 100644 --- a/go.json5 +++ b/go.json5 @@ -9,8 +9,9 @@ groupName: "golang", }, ], - regexManagers: [ + customManagers: [ { + customType: "regex", fileMatch: ["^\\.github/workflows/[^/]+\\.ya?ml$"], matchStrings: ['go-version: "(?.*?)"'], depNameTemplate: "golang", diff --git a/node.json5 b/node.json5 index 5f2fd37..a0a47d8 100644 --- a/node.json5 +++ b/node.json5 @@ -2,13 +2,14 @@ $schema: "https://docs.renovatebot.com/renovate-schema.json", packageRules: [ { - matchFiles: ["package.json"], + matchFileNames: ["**/package.json"], matchUpdateTypes: ["minor", "patch"], groupName: "NPM dependencies", }, ], - regexManagers: [ + customManagers: [ { + customType: "regex", fileMatch: ["^\\.github/workflows/[^/]+\\.ya?ml$"], matchStrings: ['node-version:\\s+"(?.*?)"'], depNameTemplate: "node", diff --git a/ruby.json5 b/ruby.json5 index 2b351a2..b8e0db4 100644 --- a/ruby.json5 +++ b/ruby.json5 @@ -2,13 +2,14 @@ $schema: "https://docs.renovatebot.com/renovate-schema.json", packageRules: [ { - matchFiles: ["Gemfile"], + matchFileNames: ["**/Gemfile"], matchUpdateTypes: ["minor", "patch"], groupName: "gems dependencies", }, ], - regexManagers: [ + customManagers: [ { + customType: "regex", fileMatch: ["^*.gemspec"], matchStrings: [ ".*add.*dependency '(?.*?)', '(?.*?)'", @@ -16,6 +17,7 @@ datasourceTemplate: "rubygems", }, { + customType: "regex", fileMatch: ["^\\.github/workflows/[^/]+\\.ya?ml$"], matchStrings: ['ruby-version:\\s+"(?.*?)"'], depNameTemplate: "ruby", diff --git a/tool-version.json5 b/tool-version.json5 index 7d5f249..dac3742 100644 --- a/tool-version.json5 +++ b/tool-version.json5 @@ -4,13 +4,14 @@ // Strip the "v" prefix from usual GitHub tags/release since asdf // plugins mostly use raw versions only. { - matchManagers: ["regex"], - matchPaths: [".tool-versions"], + matchManagers: ["custom.regex"], + matchFileNames: ["**/.tool-versions"], extractVersion: "^v?(?.*)$", }, ], - regexManagers: [ + customManagers: [ { + customType: "regex", fileMatch: [".tool-versions$"], matchStrings: [ "#\\s*renovate:\\s+datasource=(?.*?)\\s+depName=(?.*?)(\\s+versioning=(?.*?))?\\n\\w+\\s+(?.*)", From 42c944202ba6fc902b6688985c94715cb04938bf Mon Sep 17 00:00:00 2001 From: Jan Graichen Date: Wed, 15 May 2024 20:30:08 +0200 Subject: [PATCH 23/23] fix: default indent for markdown --- .editorconfig | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.editorconfig b/.editorconfig index e153a68..2252635 100644 --- a/.editorconfig +++ b/.editorconfig @@ -13,3 +13,6 @@ insert_final_newline = true [*.{yml,yaml}] indent_style = space + +[*.md] +indent_style = space