diff --git a/renovate/defaults.json5 b/renovate/defaults.json5 index 0c6904e..48f0ae5 100644 --- a/renovate/defaults.json5 +++ b/renovate/defaults.json5 @@ -28,7 +28,7 @@ Validate this file before commiting with (from repository root): // Re-use predefined sets of configuration options to DRY "extends": [ // https://docs.renovatebot.com/presets-config/#configbase - "config:base", + "config:recommended", // https://docs.renovatebot.com/presets-default/#gitsignoff ":gitSignOff", @@ -74,61 +74,6 @@ Validate this file before commiting with (from repository root): // it as appropriate. "rebaseWhen": "never", - /************************************************* - ***** Golang-specific configuration options ***** - *************************************************/ - - "golang": { - // disabled by default, safe to enable since "tidy" enforced by CI. - "postUpdateOptions": ["gomodTidy"], - - // In case a version in use is retracted, allow going backwards. - // N/B: This is NOT compatible with pseudo versions, see below. - "rollbackPrs": false, - - // Preserve (but continue to upgrade) any existing SemVer ranges. - "rangeStrategy": "replace", - - // N/B: LAST MATCHING RULE WINS - // https://docs.renovatebot.com/configuration-options/#packagerules - "packageRules": [ - // Golang pseudo-version packages will spam with every Commit ID change. - // Limit update frequency. - { - "matchUpdateTypes": ["digest"], - "schedule": ["after 1am and before 11am on the first day of the month"], - }, - // Package version retraction (https://go.dev/ref/mod#go-mod-file-retract) - // is broken in Renovate. And no repo should use these retracted versions. - // ref: https://github.com/renovatebot/renovate/issues/13012 - { - "matchPackageNames": ["github.com/containers/common"], - // Both v1.0.0 and v1.0.1 should be ignored. - "allowedVersions": "!/v((1.0.0)|(1.0.1))$/" - }, - ], - }, - - /************************************************* - ***** Rust-specific configuration options ***** - *************************************************/ - - "rust": { - // Update both Cargo.toml and Cargo.lock when possible - // i.e. bump the range even if the new version satisfies the existing range. - // https://docs.renovatebot.com/configuration-options/#rangestrategy - "rangeStrategy": "bump", - }, - - /************************************************* - ***** Python-specific configuration options ***** - *************************************************/ - - "python": { - // Preserve (but continue to upgrade) any existing SemVer ranges. - "rangeStrategy": "replace", - }, - /************************************************** ***** Manager-specific configuration options ***** **************************************************/ @@ -160,12 +105,71 @@ Validate this file before commiting with (from repository root): // N/B: LAST MATCHING RULE WINS, match statems are ANDed together. // https://docs.renovatebot.com/configuration-options/#packagerules "packageRules": [ + + /************************************************* + ***** Rust-specific configuration options ***** + *************************************************/ + { + "matchCategories": ["rust"], + // Update both Cargo.toml and Cargo.lock when possible + // i.e. bump the range even if the new version satisfies the existing range. + // https://docs.renovatebot.com/configuration-options/#rangestrategy + "rangeStrategy": "bump" + }, + + /************************************************* + ***** Python-specific configuration options ***** + *************************************************/ + { + "matchCategories": ["python"], + // Preserve (but continue to upgrade) any existing SemVer ranges. + "rangeStrategy": "replace" + }, + + /************************************************* + ***** Golang-specific configuration options ***** + *************************************************/ + { + "matchCategories": ["golang"], + + // disabled by default, safe to enable since "tidy" enforced by CI. + "postUpdateOptions": ["gomodTidy"], + + // In case a version in use is retracted, allow going backwards. + // N/B: This is NOT compatible with pseudo versions, see below. + "rollbackPrs": false, + + // Preserve (but continue to upgrade) any existing SemVer ranges. + "rangeStrategy": "replace", + + // N/B: LAST MATCHING RULE WINS + // https://docs.renovatebot.com/configuration-options/#packagerules + }, + + // Golang pseudo-version packages will spam with every Commit ID change. + // Limit update frequency. + { + "matchCategories": ["golang"], + "matchUpdateTypes": ["digest"], + "schedule": ["after 1am and before 11am on the first day of the month"], + }, + + // Package version retraction (https://go.dev/ref/mod#go-mod-file-retract) + // is broken in Renovate. And no repo should use these retracted versions. + // ref: https://github.com/renovatebot/renovate/issues/13012 + { + "matchCategories": ["golang"], + "matchPackageNames": ["github.com/containers/common"], + // Both v1.0.0 and v1.0.1 should be ignored. + "allowedVersions": "!/v((1.0.0)|(1.0.1))$/" + }, + // Workaround: rollbackPRs are not compatible with digest updates. // This is a catch-the-rest rule which must appear AFTER the go // "digest" rule (above). // Ref: https://github.com/renovatebot/renovate/discussions/18250 { - "matchLanguages": ["go"], + "matchCategories": ["golang"], // Open rollback PR if updated dep. is removed (i.e. tag pulled // due to major bug or security issue). "rollbackPrs": true, @@ -188,7 +192,7 @@ Validate this file before commiting with (from repository root): // images are split across multiple IMG_SFX values that all need to be updated. { "matchManagers": ["regex"], - "matchFiles": [".cirrus.yml"], // full-path exact-match + "matchFileNames": [".cirrus.yml"], // full-path exact-match "groupName": "CI VM Image", // Somebody(s) need to check image update PRs as soon as they open. "reviewers": ["cevich"],