renovate.json
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"enabled": true,
"extends": [
":enableRenovate",
":enableVulnerabilityAlerts",
"config:recommended",
"mergeConfidence:all-badges",
":dependencyDashboard",
":rebaseStalePrs",
":automergePr",
":automergeRequireAllStatusChecks",
":automergeDigest",
":automergeLinters",
":automergeTesters",
":automergeTypes",
":automergePatch",
":semanticCommits",
":pinDevDependencies",
":docker"
],
"osvVulnerabilityAlerts": true,
"dependencyDashboardOSVVulnerabilitySummary": "all",
"configMigration": true,
"timezone": "UTC",
"branchPrefix": "up-renovate-",
"fetchChangeLogs": "pr",
"separateMajorMinor": true,
"separateMinorPatch": true,
"separateMultipleMajor": true,
"separateMultipleMinor": false,
"ignoreTests": false,
"ignoreUnstable": true,
"prConcurrentLimit": 10,
"branchConcurrentLimit": 10,
"prHourlyLimit": 0,
"rebaseWhen": "auto",
"recreateWhen": "auto",
"reviewersFromCodeOwners": true,
"automerge": true,
"automergeSchedule": [
"at any time"
],
"automergeStrategy": "rebase",
"automergeType": "pr",
"major": {
"enabled": true,
"automerge": true
},
"minor": {
"enabled": true,
"automerge": true
},
"patch": {
"enabled": true,
"automerge": true,
"groupName": "all patch updates"
},
"digest": {
"enabled": false,
"automerge": false
},
"regex": {
"enabled": true
},
"git-submodules": {
"enabled": false
},
"bundler": {
"enabled": true
},
"conan": {
"enabled": true
},
"pre-commit": {
"enabled": true
},
"dockerfile": {
"enabled": true
},
"gradle": {
"enabled": true
},
"maven": {
"enabled": true
},
"customManagers": [
{
"fileMatch": [
".*\\/Dockerfile.*",
"\\.github\\/workflows\\/.+\\.ya?ml"
],
"matchStringsStrategy": "any",
"matchStrings": [
"BASE_IMAGE=(?<depName>.*?):(?<currentValue>.*)",
"BASE_IMAGE: (?<depName>.*?):(?<currentValue>.*)"
],
"datasourceTemplate": "docker",
"customType": "regex"
},
{
"fileMatch": [
"deploy\\/docker-compose.ya?ml"
],
"matchStringsStrategy": "any",
"matchStrings": [
"image: (?<depName>.*?):(?<currentValue>.*)"
],
"datasourceTemplate": "docker",
"customType": "regex"
},
{
"fileMatch": [
"\\.github\\/workflows\\/.+\\.ya?ml"
],
"matchStringsStrategy": "any",
"matchStrings": [
"host_os: \\[?'?(?<depName>.*?)-(?<currentValue>[\\d\\w\\.\\-]*)'?\\]?",
"runs-on: (?<depName>.*?)-(?<currentValue>.*)"
],
"datasourceTemplate": "github-runners",
"customType": "regex"
},
{
"fileMatch": [
".*build.gradle"
],
"matchStringsStrategy": "any",
"matchStrings": [
"powermock_version = ['\"](?<currentValue>.*)['\"]"
],
"depNameTemplate": "org.powermock:powermock-api-easymock",
"datasourceTemplate": "maven",
"versioningTemplate": "gradle",
"customType": "regex",
"registryUrlTemplate": "https://repo1.maven.org/maven2/"
},
{
"fileMatch": [
".*build.gradle"
],
"matchStringsStrategy": "any",
"matchStrings": [
"jacoco_version = ['\"](?<currentValue>.*)['\"]"
],
"depNameTemplate": "org.jacoco:org.jacoco.core",
"datasourceTemplate": "maven",
"versioningTemplate": "gradle",
"customType": "regex",
"registryUrlTemplate": "https://repo1.maven.org/maven2/"
},
{
"fileMatch": [
".*build.gradle"
],
"matchStringsStrategy": "any",
"matchStrings": [
"androidX_test_junit_version = ['\"](?<currentValue>.*)['\"]"
],
"depNameTemplate": "androidx.test.ext:junit",
"datasourceTemplate": "maven",
"versioningTemplate": "gradle",
"customType": "regex",
"registryUrlTemplate": "https://maven.google.com"
},
{
"fileMatch": [
".*build.gradle"
],
"matchStringsStrategy": "any",
"matchStrings": [
"androidX_test_espresso_version = ['\"](?<currentValue>.*)['\"]"
],
"depNameTemplate": "androidx.test.espresso:espresso-core",
"datasourceTemplate": "maven",
"versioningTemplate": "gradle",
"customType": "regex",
"registryUrlTemplate": "https://maven.google.com"
},
{
"fileMatch": [
".*build.gradle"
],
"matchStringsStrategy": "any",
"matchStrings": [
"gradle_version = ['\"](?<currentValue>.*)['\"]"
],
"depNameTemplate": "com.android.tools.build:gradle",
"datasourceTemplate": "maven",
"versioningTemplate": "gradle",
"customType": "regex",
"registryUrlTemplate": "https://maven.google.com"
},
{
"fileMatch": [
".*build.gradle"
],
"matchStringsStrategy": "any",
"matchStrings": [
"androidX_appcompat_version = ['\"](?<currentValue>.*)['\"]"
],
"depNameTemplate": "androidx.appcompat:appcompat",
"datasourceTemplate": "maven",
"versioningTemplate": "gradle",
"customType": "regex",
"registryUrlTemplate": "https://maven.google.com"
},
{
"fileMatch": [
".*build.gradle"
],
"matchStringsStrategy": "any",
"matchStrings": [
"gradleVersion = ['\"](?<currentValue>.*)['\"]"
],
"depNameTemplate": "gradle",
"datasourceTemplate": "gradle-version",
"customType": "regex"
},
{
"fileMatch": [
".*build.gradle"
],
"matchStringsStrategy": "any",
"matchStrings": [
"ndk_version = ['\"](?<currentValue>.*)['\"]"
],
"depNameTemplate": "android/ndk",
"datasourceTemplate": "github-releases",
"customType": "regex",
"registryUrlTemplate": "https://github.com"
},
{
"fileMatch": [
"app\\/third_party\\/CMakeLists\\.txt"
],
"matchStringsStrategy": "any",
"matchStrings": [
"set\\( BOOST_VERSION ['\"]boost-(?<currentValue>.*?)['\"] \\)"
],
"depNameTemplate": "boostorg/boost",
"datasourceTemplate": "github-releases",
"customType": "regex",
"registryUrlTemplate": "https://github.com"
},
{
"fileMatch": [
"app\\/third_party\\/CMakeLists\\.txt"
],
"matchStringsStrategy": "any",
"matchStrings": [
"set\\( GLM_VERSION ['\"](?<currentValue>.*?)['\"] \\)"
],
"depNameTemplate": "g-truc/glm",
"datasourceTemplate": "github-releases",
"customType": "regex",
"registryUrlTemplate": "https://github.com"
},
{
"fileMatch": [
"app\\/third_party\\/CMakeLists\\.txt"
],
"matchStringsStrategy": "any",
"matchStrings": [
"set\\( STB_VERSION ['\"](?<currentValue>.*?)['\"] \\)"
],
"depNameTemplate": "nothings/stb",
"datasourceTemplate": "github-releases",
"customType": "regex",
"registryUrlTemplate": "https://github.com"
},
{
"fileMatch": [
"app\\/third_party\\/CMakeLists\\.txt"
],
"matchStringsStrategy": "any",
"matchStrings": [
"set\\( TINYOBJLOADER_VERSION ['\"](?<currentValue>.*?)['\"] \\)"
],
"depNameTemplate": "syoyo/tinyobjloader",
"datasourceTemplate": "github-releases",
"customType": "regex",
"registryUrlTemplate": "https://github.com"
},
{
"fileMatch": [
"app\\/third_party\\/CMakeLists\\.txt"
],
"matchStringsStrategy": "any",
"matchStrings": [
"set\\( GOOGLETEST_VERSION ['\"](?<currentValue>.*?)['\"] \\)"
],
"depNameTemplate": "google/googletest",
"datasourceTemplate": "github-releases",
"customType": "regex",
"registryUrlTemplate": "https://github.com"
},
{
"fileMatch": [
"app\\/third_party\\/CMakeLists\\.txt"
],
"matchStringsStrategy": "any",
"matchStrings": [
"set\\( PCG_CPP_VERSION ['\"](?<currentValue>.*?)['\"] \\)"
],
"depNameTemplate": "imneme/pcg-cpp",
"datasourceTemplate": "github-releases",
"customType": "regex",
"registryUrlTemplate": "https://github.com"
}
],
"packageRules": [
{
"matchCategories": [
"docker"
],
"enabled": true,
"pinDigests": false
},
{
"matchDepTypes": [
"action"
],
"enabled": true,
"pinDigests": false
},
{
"matchUpdateTypes": ["major", "minor", "patch"],
"enabled": true,
"automerge": true
},
{
"groupName": "Update docker images",
"enabled": true,
"matchManagers": [
"dockerfile",
"docker-compose",
"custom.regex"
],
"versioning": "regex:^(?<major>[0-9]+)\\.?(?<minor>[0-9a-z]+)?\\.?(?<patch>[0-9]+)?-?(?<compatibility>[a-z]+)?.*$",
"pinDigests": false
},
{
"groupName": "Docker images from Confluentinc",
"enabled": true,
"matchManagers": [
"custom.regex",
"docker-compose"
],
"matchDepNames": [
"confluentinc/ksqldb-examples",
"confluentinc/cp-zookeeper",
"confluentinc/cp-schema-registry",
"confluentinc/cp-ksqldb-server",
"confluentinc/cp-ksqldb-cli",
"confluentinc/cp-kafka-rest",
"confluentinc/cp-kafka"
]
},
{
"groupName": "Only update patches of androidx.core:core for Android API >= 19",
"enabled": false,
"matchUpdateTypes": ["major", "minor"],
"matchDepNames": [
"androidx.core:core-ktx",
"androidx.core:core"
],
"matchManagers": [
"custom.regex",
"gradle"
],
"matchCurrentVersion": "/^1\\.12\\..+/"
},
{
"groupName": "Only update patches of androidx.test:monitor for Android API >= 19",
"enabled": false,
"matchUpdateTypes": ["major", "minor"],
"matchDepNames": [
"androidx.test:monitor"
],
"matchManagers": [
"custom.regex",
"gradle"
],
"matchCurrentVersion": "/^1\\.6\\..+/"
},
{
"groupName": "Only update patches of androidx.test.ext:junit for Android API >= 19",
"enabled": false,
"matchUpdateTypes": ["major", "minor"],
"matchDepNames": [
"androidx.test.ext:junit",
"androidx.test.ext:junit-ktx"
],
"matchManagers": [
"custom.regex",
"gradle"
],
"matchCurrentVersion": "/^1\\.1\\..+/"
},
{
"groupName": "Only update patches of androidx.test.espresso for Android API >= 19",
"enabled": false,
"matchUpdateTypes": ["major", "minor"],
"matchDepNames": [
"androidx.test.espresso:espresso-accessibility",
"androidx.test.espresso:espresso-contrib",
"androidx.test.espresso:espresso-idling-resource",
"androidx.test.espresso:espresso-intents",
"androidx.test.espresso:espresso-web",
"androidx.test.espresso.idling:idling-concurrent",
"androidx.test.espresso:espresso-core"
],
"matchManagers": [
"custom.regex",
"gradle"
],
"matchCurrentVersion": "/^3\\.5\\..+/"
},
{
"groupName": "Only update patches of androidx.emoji2:emoji2 for Android API >= 19",
"enabled": false,
"matchUpdateTypes": ["major", "minor"],
"matchDepNames": [
"androidx.emoji2:emoji2"
],
"matchManagers": [
"custom.regex",
"gradle"
],
"matchCurrentVersion": "/^1\\.2\\..+/"
},
{
"groupName": "Update Ubuntu to LTS versions",
"enabled": true,
"matchDepNames": [
"ubuntu"
],
"matchManagers": [
"dockerfile",
"docker-compose",
"custom.regex"
],
"versioning": "ubuntu",
"allowedVersions": "/^[0-9]+\\.04$/"
},
{
"groupName": "Update conan dependencies",
"enabled": true,
"matchManagers": [
"conan"
],
"versioning": "regex:^(cci.)?(?<major>[0-9]+)\\.?(?<minor>[0-9a-z]+)?\\.?(?<patch>[0-9]+)?.*$",
"allowedVersions": "!/^(cci\\.[0-9]+)|([0-9]+\\.[0-9]+\\.[0-9]+-rc[0-9]+)$/"
},
{
"groupName": "Only update patches of Android Gradle version for Android API >= 16",
"enabled": false,
"matchUpdateTypes": ["major", "minor"],
"matchDepNames": [
"custom.regex",
"com.android.tools.build:gradle"
],
"matchManagers": [
"custom.regex",
"gradle"
],
"matchCurrentVersion": "/^8\\.2\\..+$/"
},
{
"groupName": "Only update patches of Android appcompat version for Android API >= 21",
"enabled": false,
"matchUpdateTypes": ["major", "minor"],
"matchDepNames": [
"androidx.appcompat:appcompat"
],
"matchManagers": [
"custom.regex",
"gradle"
],
"matchCurrentVersion": "/^1\\.6\\..+$/"
},
{
"groupName": "Update NDK to stable versions",
"enabled": true,
"matchDepNames": [
"android/ndk"
],
"matchManagers": [
"custom.regex"
],
"versioning": "regex:^r?(?<major>[0-9]+)\\.?(?<minor>[0-9a-z]+)?\\.?(?<patch>[0-9]+)?-?(?<prerelease>[0-9a-z]+)?(?<compatibility>-.*)?.*$",
"matchCurrentVersion": "!/^(25\\.2\\.9519653)|(23\\.2\\.8568313)$/",
"allowedVersions": "/^r?[0-9]+\\.?[0-9a-z]*\\.?[0-9]*.*$/"
},
{
"groupName": "Do not update Gradle for Android API <= 15",
"enabled": false,
"matchDepNames": [
"gradle"
],
"matchCurrentVersion": "/^8\\.7$/",
"matchCurrentValue": "/^8\\.7$/"
},
{
"groupName": "Update Boost C++ Libraries",
"enabled": true,
"matchDepNames": [
"boostorg/boost"
],
"extractVersion": "^boost-(?<version>.*)$"
},
{
"groupName": "Update GoogleTest to a version that supports C++11",
"enabled": true,
"matchDepNames": [
"google/googletest"
],
"versioning": "regex:^(v|release-)?(?<major>[0-9]+)\\.(?<minor>[0-9]+)\\.(?<patch>[0-9]+)-?(?<prerelease>[0-9a-z]+)?.*$",
"allowedVersions": "<1.13"
},
{
"groupName": "Update MobileRT docker images",
"enabled": true,
"matchDepNames": [
"ptpuscas/mobile_rt"
],
"versioning": "regex:^(?<compatibility>[a-z]+)-(?<major>[0-9]+)\\.(?<minor>[0-9]+)\\.?(?<patch>[0-9]+)?-?(?<prerelease>[0-9a-z]+)?.*$",
"pinDigests": false
},
{
"groupName": "Ignore update Operating Systems on Github Runners if latest is used",
"enabled": false,
"matchDatasources": [
"github-runners"
],
"versioning": "regex:^(?<major>[0-9a-z]+)?\\.?(?<minor>[0-9]+)?.*$",
"matchCurrentVersion": "/^latest$/"
},
{
"groupName": "Ignore specific versions of Ubuntu already being used",
"enabled": false,
"matchDatasources": [
"github-runners"
],
"matchDepNames": [
"ubuntu"
],
"versioning": "regex:^(?<major>[0-9a-z]+)?\\.?(?<minor>[0-9]+)?.*$",
"matchCurrentVersion": "!/^24\\.04$/"
},
{
"groupName": "Ignore specific versions of Windows already being used",
"enabled": false,
"matchDatasources": [
"github-runners"
],
"matchDepNames": [
"windows"
],
"versioning": "regex:^(?<major>[0-9]+)?\\.?(?<minor>[0-9]+)?.*$",
"matchCurrentVersion": "!/^2025$/"
},
{
"groupName": "Ignore specific versions of MacOS already being used",
"enabled": false,
"matchDatasources": [
"github-runners"
],
"matchDepNames": [
"macos"
],
"versioning": "regex:^(?<major>[0-9]+)?\\.?(?<minor>[0-9]+)?.*$",
"matchCurrentVersion": "!/^15$/"
}
]
}