renovate.json5 (54 lines of code) (raw):
{
$schema: "https://docs.renovatebot.com/renovate-schema.json",
extends: [
"config:recommended",
":semanticCommits",
":semanticCommitTypeAll(fix)",
":enableVulnerabilityAlertsWithLabel(SECURITY)",
],
npm: {
minimumReleaseAge: "3 days",
},
customManagers: [
{
customType: "regex",
description: "Update _VERSION variables in Dockerfiles, shell scripts",
fileMatch: [
"(^|/|\\.)([Dd]ocker|[Cc]ontainer)file$",
"(^|/)([Dd]ocker|[Cc]ontainer)file[^/]*$",
"(^|/).*\\.sh$",
],
matchStrings: [
// for Dockerfiles and shell script files, match the renovate: specially formatted comment line followed by a capitalized variable with a _VERSION suffix eg:
// # renovate: datasource=somesource packageName=somename versioning=someversioning
// ARG PACKAGENAME_VERSION=1.2.3
// https://regex101.com/r/ntfy3f/1
'# renovate: datasource=(?<datasource>\\S+?)(?:\\s+depName=(?<depName>\\S+?))?\\s+packageName=(?<packageName>\\S+?)\\s+(?:versioning=(?<versioning>\\S+))\\s(?:(?:ARG|ENV)\\s+)?\\S+_VERSION="?(?<currentValue>\\S+)"?',
],
},
],
packageRules: [
{
description: "Do not create PRs for nodejs/npm engine updates",
matchPackageNames: ["node", "npm"],
matchDepTypes: ["engines"],
dependencyDashboardApproval: true,
groupName: "npm-engine-versions",
},
{
description: "Group updates for all NPM packages",
matchDatasources: ["npm"],
groupName: "npm-packages",
matchPackageNames: ["!npm", "!node"],
},
{
matchDatasources: ["terraform-module", "terraform-provider"],
groupName: "terraform",
},
{
matchDatasources: ["docker"],
groupName: "docker-containers",
},
],
rangeStrategy: "bump",
}