diff --git a/renovate.json b/renovate.json deleted file mode 100644 index f56767ea0..000000000 --- a/renovate.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "extends": [ - "config:recommended" - ], - "timezone": "Asia/Tokyo", - "packageRules": [ - { - "groupSlug": "rust", - "groupName": "Rust", - "matchPackagePatterns": [ - "^rust-lang/rust$" - ] - }, - { - "groupSlug": "others", - "groupName": "Others", - "matchPackagePatterns": [ - "*" - ], - "excludePackagePatterns": [ - "^rust-lang/rust$" - ], - "dependencyDashboardApproval": true - } - ], - "customManagers": [ - { - "customType": "regex", - "fileMatch": [ - "^rust-toolchain$" - ], - "matchStrings": [ - "(?\\d+\\.\\d+\\.\\d+)" - ], - "depNameTemplate": "Rust", - "packageNameTemplate": "rust-lang/rust", - "datasourceTemplate": "github-tags" - } - ] -} diff --git a/renovate.json5 b/renovate.json5 new file mode 100644 index 000000000..6fc45ac18 --- /dev/null +++ b/renovate.json5 @@ -0,0 +1,90 @@ +{ + $schema: "https://docs.renovatebot.com/renovate-schema.json", + extends: [ + "config:recommended", + ], + timezone: "Asia/Tokyo", + separateMajorMinor: false, + dependencyDashboardApproval: true, // 万が一`packageRules`の網羅性に穴ができた場合に備え + packageRules: [ + // `separateMajorMinor`を無効化した上で次の二つのgroupにすべてをまとめる。 + // + // * "major dependencies" (`renovate/major-dependencies`) + // * "non-major dependencies" (`renovate/non-major-dependencies`) + // + // バージョン0.y.z (y≧1)のyとバージョン0.0.zのzの変更は"major dependencies"の方に含むようにする。 + + // メジャーバージョンの更新 + { + groupName: "major dependencies", + matchUpdateTypes: [ + "major", + ], + dependencyDashboardApproval: false, + }, + { + groupName: "major dependencies", + matchUpdateTypes: [ + "minor", + ], + matchCurrentVersion: "/^v?0\\./", + dependencyDashboardApproval: false, + }, + { + groupName: "major dependencies", + matchUpdateTypes: [ + "patch", + ], + matchCurrentVersion: "/^v?0\\.0\\./", + dependencyDashboardApproval: false, + }, + + // メジャーバージョン以外の更新 + { + groupName: "non-major dependencies", + matchUpdateTypes: [ + "minor", + ], + matchCurrentVersion: "!/^v?0\\./", + dependencyDashboardApproval: false, + }, + { + groupName: "non-major dependencies", + matchUpdateTypes: [ + "patch", + ], + matchCurrentVersion: "!/^v?0\\.0\\./", + dependencyDashboardApproval: false, + }, + + // GHAのrunnerに対しては無効化する + { + matchDatasources: [ + "github-runners", + ], + matchPackageNames: [ + "windows", + "macos", + "ubuntu", + ], + enabled: false, + }, + ], + cargo: { + rangeStrategy: "bump", + }, + customManagers: [ + { + customType: "regex", + fileMatch: [ + "^rust-toolchain$", + ], + matchStrings: [ + "(?\\d+\\.\\d+\\.\\d+)", + ], + depNameTemplate: "Rust", + packageNameTemplate: "rust-lang/rust", + datasourceTemplate: "github-tags", + }, + ], +}