From 7e07b9a3ea084b57cc107b435dfc5e780c6909d7 Mon Sep 17 00:00:00 2001 From: "Marcus R. Brown" Date: Fri, 23 Feb 2024 14:10:14 -0700 Subject: [PATCH] fix: clean up nested `extends` and missing `/default` sub-presets --- .github/renovate.json5 | 5 +++- automerge.json | 24 ++++++++++--------- automerge.json5 | 11 +++++++++ automergeNonMajorUpdates.json5 | 14 ++++++++++++ default.json | 2 +- internal.json5 | 2 +- maintenance.json | 42 +++++++++++++++++++++++----------- replacements.json | 32 +------------------------- replacements.json5 | 20 ++++++++++++++++ vendors.json | 4 +++- 10 files changed, 97 insertions(+), 59 deletions(-) create mode 100644 automerge.json5 create mode 100644 automergeNonMajorUpdates.json5 create mode 100644 replacements.json5 diff --git a/.github/renovate.json5 b/.github/renovate.json5 index e208b4b2..b7c32d3e 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -28,7 +28,10 @@ }, { matchFileNames: ['**/*.md'], - extends: ['schedule:weekly', 'github>bfra-me/renovate-config:automerge'], + extends: [ + 'schedule:weekly', + 'github>bfra-me/renovate-config:automerge.json5', + ], additionalBranchPrefix: 'docs-', commitMessageTopic: 'references to {{{depName}}}', semanticCommitType: 'docs', diff --git a/automerge.json b/automerge.json index 8ffa9773..af2ec244 100644 --- a/automerge.json +++ b/automerge.json @@ -1,13 +1,15 @@ { - "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "description": "Enable automerge for Renovate updates.", - "automerge": true, - "addLabels": ["automerge"], - "azureAutoApprove": true, - "gitLabAutomerge": true, - "gitLabIgnoreApprovals": true, - "assignAutomerge": false, - "assigneesFromCodeOwners": false, - "dependencyDashboardApproval": false, - "reviewersFromCodeOwners": false + "extends": ["github>bfra-me/renovate-config:automerge.json5"], + "default": { + "description": "Use default automerge settings.", + "extends": [ + "github>bfra-me/renovate-config:automergeNonMajorUpdates.json5" + ], + "automergeStrategy": "squash", + "automergeType": "branch", + "ignoreTests": false + }, + "enable": { + "extends": ["github>bfra-me/renovate-config:automerge.json5"] + } } diff --git a/automerge.json5 b/automerge.json5 new file mode 100644 index 00000000..15d6a7e2 --- /dev/null +++ b/automerge.json5 @@ -0,0 +1,11 @@ +{ + "automerge": true, + "addLabels": ["automerge"], + "azureAutoApprove": true, + "gitLabAutomerge": true, + "gitLabIgnoreApprovals": true, + "assignAutomerge": false, + "assigneesFromCodeOwners": false, + "dependencyDashboardApproval": false, + "reviewersFromCodeOwners": false +} diff --git a/automergeNonMajorUpdates.json5 b/automergeNonMajorUpdates.json5 new file mode 100644 index 00000000..44ba711a --- /dev/null +++ b/automergeNonMajorUpdates.json5 @@ -0,0 +1,14 @@ +{ + description: 'Automerge all update types except `major` and unstable (`0.x.x`) versions.', + packageRules: [ + { + matchUpdateTypes: ['patch', 'pin', 'digest'], + extends: ['github>bfra-me/renovate-config:automerge.json5'], + }, + { + matchUpdateTypes: ['minor'], + matchCurrentVersion: '!/^0\\./', + extends: ['github>bfra-me/renovate-config:automerge.json5'], + }, + ], +} diff --git a/default.json b/default.json index 0e6b689e..d5cb5c84 100644 --- a/default.json +++ b/default.json @@ -7,7 +7,7 @@ ":semanticCommits", ":automergeRequireAllStatusChecks", "mergeConfidence:age-confidence-badges", - "github>bfra-me/renovate-config:replacements", + "github>bfra-me/renovate-config:replacements.json5", "github>bfra-me/renovate-config:vendors/bfra.me" ], diff --git a/internal.json5 b/internal.json5 index 77eccae8..9f7806f0 100644 --- a/internal.json5 +++ b/internal.json5 @@ -5,7 +5,7 @@ extends: [ 'github>bfra-me/renovate-config:group/default', 'github>bfra-me/renovate-config:maintenance/security', - 'github>bfra-me/renovate-config:maintenance/automergeNonMajorUpdates', + 'github>bfra-me/renovate-config:automergeNonMajorUpdates.json5', 'github>bfra-me/renovate-config:maintenance/weeklyLockFileUpdates', 'github>bfra-me/renovate-config:maintenance/dashboardApprovalForMajorUpdates', 'github>bfra-me/renovate-config:maintenance/pinGitHubActionDigestsToSemver', diff --git a/maintenance.json b/maintenance.json index 45fca349..565d7fbc 100644 --- a/maintenance.json +++ b/maintenance.json @@ -9,18 +9,7 @@ }, "automergeNonMajorUpdates": { - "description": "Automerge all update types except `major` and unstable (`0.x.x`) versions.", - "packageRules": [ - { - "matchUpdateTypes": ["patch", "pin", "digest"], - "extends": ["github>bfra-me/renovate-config:automerge"] - }, - { - "matchUpdateTypes": ["minor"], - "matchCurrentVersion": "!/^0\\./", - "extends": ["github>bfra-me/renovate-config:automerge"] - } - ] + "extends": ["github>bfra-me/renovate-config:automerge.json5"] }, "dashboardApprovalForMajorUpdates": { @@ -46,6 +35,33 @@ ] }, + "default": { + "description": "Include default config presets for repository maintenance.", + "extends": [ + ":rebaseStalePrs", + ":prNotPending", + ":prHourlyLimitNone", + ":updateNotScheduled", + "github>bfra-me/renovate-config:maintenance/security" + ], + "addLabels": ["dependencies"], + + "configMigration": true, + "configWarningReuseIssue": false, + + "dependencyDashboardTitle": "Renovate Dashboard", + + "prConcurrentLimit": 5, + "recreateClosed": true, + + "assigneesFromCodeOwners": true, + "assigneesSampleSize": 1, + "reviewersFromCodeOwners": true, + "reviewersSampleSize": 1, + + "timezone": "America/Phoenix" + }, + "internal": { "extends": ["github>bfra-me/renovate-config:internal.json5"] }, @@ -80,7 +96,7 @@ "prBodyDefinitions": { "Change": "All lock files updated (every Monday before 6 AM)" }, - "extends": ["github>bfra-me/renovate-config:automerge"] + "extends": ["github>bfra-me/renovate-config:automerge.json5"] } } } diff --git a/replacements.json b/replacements.json index 654eaaf5..8e63f91f 100644 --- a/replacements.json +++ b/replacements.json @@ -1,33 +1,3 @@ { - "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "description": "Use @bfra-me replacements config presets.", - - "extends": [ - "github>bfra-me/renovate-config:replacements/_eslint-plugin-node-to-eslint-plugin-n", - "github>bfra-me/renovate-config:replacements/_zeit-ncc-to-vercel-ncc" - ], - - "_eslint-plugin-node-to-eslint-plugin-n": { - "description": "The `eslint-plugin-node` package is now maintained by the fork `eslint-plugin-n`.", - "packageRules": [ - { - "matchDatasources": ["npm"], - "matchPackageNames": ["eslint-plugin-node"], - "replacementName": "eslint-plugin-n", - "replacementVersion": "14.0.0" - } - ] - }, - - "_zeit-ncc-to-vercel-ncc": { - "description": "The `@zeit/ncc` package has been renamed to `@vercel/ncc`.", - "packageRules": [ - { - "matchDatasources": ["npm"], - "matchPackageNames": ["@zeit/ncc"], - "replacementName": "@vercel/ncc", - "replacementVersion": "0.23.0" - } - ] - } + "default": {"extends": ["github>bfra-me/renovate-presets:replacements.json5"]} } diff --git a/replacements.json5 b/replacements.json5 new file mode 100644 index 00000000..2ec67df7 --- /dev/null +++ b/replacements.json5 @@ -0,0 +1,20 @@ +{ + $schema: 'https://docs.renovatebot.com/renovate-schema.json', + description: 'Use @bfra-me replacements config presets.', + packageRules: [ + { + description: 'The `eslint-plugin-node` package is now maintained by the fork `eslint-plugin-n`.', + matchDatasources: ['npm'], + matchPackageNames: ['eslint-plugin-node'], + replacementName: 'eslint-plugin-n', + replacementVersion: '14.0.0', + }, + { + description: 'The `@zeit/ncc` package has been renamed to `@vercel/ncc`.', + matchDatasources: ['npm'], + matchPackageNames: ['@zeit/ncc'], + replacementName: '@vercel/ncc', + replacementVersion: '0.23.0', + }, + ], +} diff --git a/vendors.json b/vendors.json index 1372086f..e2b5d27c 100644 --- a/vendors.json +++ b/vendors.json @@ -1,4 +1,6 @@ { + "default": {"extends": ["github>bfra-me/renovate-config:vendors/bfra.me"]}, + "bfra.me+actions": { "description": "All @bfra-me GitHub actions and reusable workflows.", "packageRules": { @@ -26,7 +28,7 @@ }, { "description": "Exclude broken versions of the `bfra-me/renovate-config` preset.", - "allowedVersions": ">=3.0.2", + "allowedVersions": ">=3.0.5", "matchDepNames": ["bfra-me/renovate-config"] } ],