From 909b36d03250fcde752f4ade2d69e843b6ccda3a Mon Sep 17 00:00:00 2001 From: Mikhail Novikov Date: Thu, 23 Apr 2020 12:48:18 +0300 Subject: [PATCH 1/6] Improve renovate --- renovate.json5 | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/renovate.json5 b/renovate.json5 index c6f5408f60228..c1e39dcb74401 100644 --- a/renovate.json5 +++ b/renovate.json5 @@ -18,8 +18,21 @@ semanticCommitScope: null, prHourlyLimit: 0, packageRules: [ + // these rules define group names + { + groupName: "packages", + paths: ["package.json", "packages/**"], + }, + { + groupName: "www", + paths: ["www/package.json"], + }, + { + groupName: "starters and examples", + paths: ["starters/**", "examples/**"], + }, + // these rules define dependencies that we have special handling for { - groupName: "minor updates in packages", updateTypes: ["minor"], excludePackageNames: [ // below is list of packages that use 0.X version range, any minor bump there can contain breaking changes, so we just ignore minor bumps for those packages and will need to bump them manually @@ -78,22 +91,15 @@ "react-docgen", ], }, - { - groupName: "patch updates in packages", - updateTypes: ["patch"], - }, { depTypeList: ["engines"], enabled: false, }, { - groupName: "updates in starters", - paths: ["starters/**"], - updateTypes: ["patch"], - }, - { - groupName: "type updates", + groupName: "types", packagePatterns: ["^@types"], + // only upgrade types with approval as they can break transitives + masterIssueApproval: true, }, ], timezone: "GMT", From c58403945d8742c00ec8a4ba18b001b97ac02c70 Mon Sep 17 00:00:00 2001 From: Mikhail Novikov Date: Thu, 23 Apr 2020 13:58:16 +0300 Subject: [PATCH 2/6] Attempt no 2 --- renovate.json5 | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/renovate.json5 b/renovate.json5 index c1e39dcb74401..7936f10452d56 100644 --- a/renovate.json5 +++ b/renovate.json5 @@ -60,9 +60,78 @@ "react-docgen", ], }, + // we need to replicate this so that it goes to a separate group { // minor updates in packages <1.0.0 - need master issue approval // not grouped + groupName: "packages (<1.0.0 minor)", + paths: ["package.json", "packages/**"], + masterIssueApproval: true, + updateTypes: ["minor"], + packageNames: [ + // below is list of packages that use 0.X version range, any minor bump there can contain breaking changes, so we just ignore minor bumps for those packages and will need to bump them manually + "@reach/skip-nav", + "@theme-ui/prism", + "@theme-ui/typography", + "axios", + "babel-preset-gatsby", + "sharp", + "gatsby-plugin-theme-ui", + "graphiql-explorer", + "guess-webpack", + "jest-silent-reporter", + "js-combinatorics", + "jscodeshift", + "mini-css-extract-plugin", + "react-refresh", + "scroll-behavior", + "theme-ui", + "webpack-stats-plugin", + "xlsx", + "zipkin", + "zipkin-transport-http", + // below is list of packages that we use alpha/beta/next/canary, where it's not really safe to bump automatically and need extra caution + "react-docgen", + ], + }, + { + // minor updates in packages <1.0.0 - need master issue approval + // not grouped + groupName: "www (<1.0.0 minor)", + paths: ["www/package.json"], + masterIssueApproval: true, + updateTypes: ["minor"], + packageNames: [ + // below is list of packages that use 0.X version range, any minor bump there can contain breaking changes, so we just ignore minor bumps for those packages and will need to bump them manually + "@reach/skip-nav", + "@theme-ui/prism", + "@theme-ui/typography", + "axios", + "babel-preset-gatsby", + "sharp", + "gatsby-plugin-theme-ui", + "graphiql-explorer", + "guess-webpack", + "jest-silent-reporter", + "js-combinatorics", + "jscodeshift", + "mini-css-extract-plugin", + "react-refresh", + "scroll-behavior", + "theme-ui", + "webpack-stats-plugin", + "xlsx", + "zipkin", + "zipkin-transport-http", + // below is list of packages that we use alpha/beta/next/canary, where it's not really safe to bump automatically and need extra caution + "react-docgen", + ], + }, + { + // minor updates in packages <1.0.0 - need master issue approval + // not grouped + groupName: "starters and examples (<1.0.0 minor)", + paths: ["starters/**", "examples/**"], masterIssueApproval: true, updateTypes: ["minor"], packageNames: [ From fd0a89b3eef1ba8e27cb838d63993ba132b9acc8 Mon Sep 17 00:00:00 2001 From: Mikhail Novikov Date: Thu, 23 Apr 2020 14:41:43 +0300 Subject: [PATCH 3/6] Fix ignored examples --- renovate.json5 | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/renovate.json5 b/renovate.json5 index 7936f10452d56..9fb57ed146bf1 100644 --- a/renovate.json5 +++ b/renovate.json5 @@ -7,6 +7,15 @@ "starters/**", "examples/**", ], + ignorePaths: [ + "**/node_modules/**", + "**/bower_components/**", + "**/vendor/**", + "**/__tests__/**", + "**/test/**", + "**/tests/**", + "**/__fixtures__/**", + ], major: { masterIssueApproval: true, }, From dd1c788a1e9828e297a8f37f7de41ac9bc5beda8 Mon Sep 17 00:00:00 2001 From: Mikhail Novikov Date: Thu, 23 Apr 2020 15:30:20 +0300 Subject: [PATCH 4/6] Longer timeout --- renovate.json5 | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/renovate.json5 b/renovate.json5 index 9fb57ed146bf1..15b5fca4a0706 100644 --- a/renovate.json5 +++ b/renovate.json5 @@ -16,6 +16,11 @@ "**/tests/**", "**/__fixtures__/**", ], + hostRules: [ + { + timeout: 60000, + }, + ], major: { masterIssueApproval: true, }, From 69761b989a4dc6859d7ed83c7de59f111f5b4157 Mon Sep 17 00:00:00 2001 From: Mikhail Novikov Date: Thu, 23 Apr 2020 15:38:47 +0300 Subject: [PATCH 5/6] Clear config --- renovate.json5 | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/renovate.json5 b/renovate.json5 index 15b5fca4a0706..933255c301521 100644 --- a/renovate.json5 +++ b/renovate.json5 @@ -1,5 +1,17 @@ { - extends: ["config:base", ":disablePeerDependencies"], + extends: [ + ":separateMajorReleases", + ":combinePatchMinorReleases", + ":ignoreUnstable", + ":prImmediately", + ":semanticPrefixFixDepsChoreOthers", + ":updateNotScheduled", + ":automergeDisabled", + ":disablePeerDependencies", + ":maintainLockFilesDisabled", + ":disableRateLimiting", + ":rebaseStalePrs", + ], includePaths: [ "package.json", "packages/**", @@ -16,16 +28,10 @@ "**/tests/**", "**/__fixtures__/**", ], - hostRules: [ - { - timeout: 60000, - }, - ], major: { masterIssueApproval: true, }, masterIssue: true, - rebaseStalePrs: false, ignoreDeps: ["react", "react-dom"], rangeStrategy: "bump", bumpVersion: null, From 29c62be3cc8a504fab8575b7cfd416168ab9f17d Mon Sep 17 00:00:00 2001 From: Mikhail Novikov Date: Thu, 23 Apr 2020 15:42:17 +0300 Subject: [PATCH 6/6] Don't rebase PRs --- renovate.json5 | 1 - 1 file changed, 1 deletion(-) diff --git a/renovate.json5 b/renovate.json5 index 933255c301521..29f82c289ec98 100644 --- a/renovate.json5 +++ b/renovate.json5 @@ -10,7 +10,6 @@ ":disablePeerDependencies", ":maintainLockFilesDisabled", ":disableRateLimiting", - ":rebaseStalePrs", ], includePaths: [ "package.json",