diff --git a/renovate.json5 b/renovate.json5 index ec105b9..efc41ff 100644 --- a/renovate.json5 +++ b/renovate.json5 @@ -5,14 +5,25 @@ "config:recommended", // chore(deps): … — match the repo's conventional-commit style. ":semanticCommits", - // Adds the Age / Adoption / Passing / Confidence columns to the PR table - // (Mend's Merge Confidence badges; free, no token — Renovate only embeds - // the badge URLs and the browser loads them when the PR is viewed). - // Covers the maven datasource, i.e. everything in libs.versions.toml; - // the github-actions datasource has no badges, so those PRs stay plain. - "mergeConfidence:all-badges", ], + // `config:recommended` brings in mergeConfidence:age-confidence-badges, whose + // Age column is a Mend badge. Mend's Merge Confidence index only covers Maven + // Central: org.jetbrains.kotlin, junit, truth, turbine et al resolve, but + // every androidx/compose artifact lives on Google's Maven repo and comes back + // as a grey UNKNOWN — i.e. most of this project. Renovate already knows the + // real answer, since it derives release timestamps itself for the + // minimumReleaseAge rules below (Google Maven serves `last-modified` on its + // POMs), so take the age from there and leave Mend to the Confidence column, + // which still carries signal for the Maven Central half. + prBodyDefinitions: { + Age: "{{#if releaseTimestamp}}{{{newVersionAgeInDays}}} d{{else}}unknown{{/if}}", + }, + // Default heading links to the Merge Confidence docs; this column is ours now. + prBodyHeadingDefinitions: { + Age: "Age", + }, + // No automerge: a dependency bump goes through the same review (and, for // anything touching the build, the same on-device check) as a feature // before it can ride a release — see docs/RELEASING.md and the @@ -83,5 +94,15 @@ ], groupName: "test dependencies", }, + // Last word on the PR table. The merge-confidence preset sets prBodyColumns + // from inside a packageRule of its own, and only for the datasources Mend + // supports — so a plain top-level prBodyColumns would lose to it for maven + // deps, and the Gradle wrapper / Actions / container bumps would keep the + // default columns and show no age at all. A rule declared after it wins, + // and gives every PR the same table. + { + matchPackageNames: ["*"], + prBodyColumns: ["Package", "Type", "Change", "Age", "Confidence"], + }, ], }