Files
Meshtastic-Android/.github/renovate.json

301 lines
8.4 KiB
JSON

{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
":dependencyDashboard",
":semanticCommitTypeAll(chore)",
":ignoreModulesAndTests",
"group:recommended",
"replacements:all",
"workarounds:all"
],
"commitMessageTopic": "{{depName}}",
"labels": [
"dependencies"
],
"git-submodules": {
"enabled": true
},
"bundler": {
"enabled": true
},
"packageRules": [
{
"description": "Automerge non-major updates for stable versions",
"matchUpdateTypes": [
"minor",
"patch",
"pin",
"digest"
],
"matchCurrentVersion": "!/^0/",
"automerge": true
},
{
"description": "Automerge patch updates for unstable (0.x) versions",
"matchUpdateTypes": [
"patch",
"pin",
"digest"
],
"matchCurrentVersion": "/^0/",
"automerge": true
},
{
"description": "Automerge pins and digests regardless of version",
"matchUpdateTypes": [
"pin",
"digest"
],
"automerge": true
},
{
"matchPackageNames": [
"https://github.com/meshtastic/protobufs.git"
],
"changelogUrl": "https://github.com/meshtastic/protobufs/compare/{{currentDigest}}...{{newDigest}}",
"groupName": "Meshtastic Protobufs",
"groupSlug": "meshtastic-protobufs",
"automerge": true
},
{
"description": "Group all AndroidX dependencies (excluding more specific AndroidX groups)",
"groupName": "AndroidX (General)",
"groupSlug": "androidx-general",
"matchPackageNames": [
"/^androidx\\./",
"!/^androidx\\.room/",
"!/^androidx\\.lifecycle/",
"!/^androidx\\.navigation/",
"!/^androidx\\.datastore/",
"!/^androidx\\.compose\\.material3\\.adaptive/",
"!/^androidx\\.compose\\.material3:material3-adaptive-navigation-suite$/",
"!/^androidx\\.test\\.espresso/",
"!/^androidx\\.test\\.ext/",
"!/^androidx\\.compose\\.ui:ui-test-junit4$/",
"!/^androidx\\.hilt/"
]
},
{
"description": "Group Kotlin standard library, coroutines, and serialization",
"groupName": "Kotlin Ecosystem",
"groupSlug": "kotlin",
"matchPackageNames": [
"/^org\\.jetbrains\\.kotlin/",
"/^org\\.jetbrains\\.kotlinx/"
]
},
{
"description": "Group Dagger and Hilt dependencies",
"groupName": "Dagger & Hilt",
"groupSlug": "hilt",
"matchPackageNames": [
"/^com\\.google\\.dagger/",
"/^androidx\\.hilt/"
]
},
{
"description": "Group Accompanist libraries",
"groupName": "Accompanist",
"groupSlug": "accompanist",
"matchPackageNames": [
"/^com\\.google\\.accompanist/"
]
},
{
"description": "Group JVM testing libraries (JUnit, Mockito, Robolectric)",
"groupName": "JVM Testing Libraries",
"groupSlug": "jvm-testing",
"matchPackageNames": [
"/^junit:junit$/",
"/^org\\.mockito:/",
"/^org\\.robolectric:robolectric$/"
],
"automerge": true
},
{
"description": "Group AndroidX Testing libraries",
"groupName": "AndroidX Testing",
"groupSlug": "androidx-testing",
"matchPackageNames": [
"/^androidx\\.test\\.espresso/",
"/^androidx\\.test\\.ext/",
"/^androidx\\.compose\\.ui:ui-test-junit4$/"
],
"automerge": true
},
{
"description": "Group Static Analysis tools (Detekt, Spotless)",
"groupName": "Static Analysis",
"groupSlug": "static-analysis",
"matchPackageNames": [
"/^io\\.gitlab\\.arturbosch\\.detekt/",
"/^io\\.nlopez\\.compose\\.rules/",
"/^com\\.diffplug\\.spotless/"
],
"automerge": true
},
{
"description": "Group Square networking libraries (OkHttp, Retrofit)",
"groupName": "Square Networking",
"groupSlug": "square-network",
"matchPackageNames": [
"/^com\\.squareup\\.okhttp3/",
"/^com\\.squareup\\.retrofit2/"
],
"automerge": true
},
{
"description": "Group Coil image loading library",
"groupName": "Coil",
"groupSlug": "coil",
"matchPackageNames": [
"/^io\\.coil-kt\\.coil3/"
],
"automerge": true
},
{
"description": "Group ZXing barcode scanning libraries",
"groupName": "ZXing",
"groupSlug": "zxing",
"matchPackageNames": [
"/^com\\.journeyapps:zxing-android-embedded/",
"/^com\\.google\\.zxing:core/"
],
"automerge": true
},
{
"description": "Group Eclipse Paho MQTT client libraries",
"groupName": "MQTT Paho Client",
"groupSlug": "mqtt-paho",
"matchPackageNames": [
"/^org\\.eclipse\\.paho/"
],
"automerge": true
},
{
"description": "Group Mike Penz Markdown renderer libraries",
"groupName": "Markdown Renderer (Mike Penz)",
"groupSlug": "markdown-renderer-mikepenz",
"matchPackageNames": [
"/^com\\.mikepenz/"
],
"automerge": true
},
{
"description": "Group Firebase libraries",
"groupName": "Firebase",
"groupSlug": "firebase",
"matchPackageNames": [
"/^com\\.google\\.firebase/"
],
"automerge": true
},
{
"description": "Group Datadog libraries",
"groupName": "Datadog",
"groupSlug": "datadog",
"matchPackageNames": [
"/^com\\.datadoghq/"
],
"automerge": true
},
{
"description": "Group OpenStreetMap (OSM) libraries",
"groupName": "OSM Libraries",
"groupSlug": "osm-libraries",
"matchPackageNames": [
"/^org\\.osmdroid/",
"/^com\\.github\\.MKergall\\.osmbonuspack/",
"/^mil\\.nga/"
],
"automerge": true
},
{
"description": "Group Google Maps Compose libraries",
"groupName": "Google Maps Compose",
"groupSlug": "google-maps-compose",
"matchPackageNames": [
"/^com\\.google\\.android\\.gms:play-services-location/",
"/^com\\.google\\.maps\\.android/"
],
"automerge": true
},
{
"description": "Group Google Protobuf runtime libraries",
"groupName": "Protobuf Runtime",
"groupSlug": "protobuf-runtime",
"matchPackageNames": [
"/^com\\.google\\.protobuf/",
"!https://github.com/meshtastic/protobufs.git"
]
},
{
"description": "Group AndroidX Room libraries",
"groupName": "AndroidX Room",
"groupSlug": "androidx-room",
"matchPackageNames": [
"/^androidx\\.room/"
],
"automerge": true
},
{
"description": "Group AndroidX Lifecycle libraries",
"groupName": "AndroidX Lifecycle",
"groupSlug": "androidx-lifecycle",
"matchPackageNames": [
"/^androidx\\.lifecycle/"
]
},
{
"description": "Group AndroidX Navigation libraries",
"groupName": "AndroidX Navigation",
"groupSlug": "androidx-navigation",
"matchPackageNames": [
"/^androidx\\.navigation/"
]
},
{
"description": "Group AndroidX DataStore libraries",
"groupName": "AndroidX DataStore",
"groupSlug": "androidx-datastore",
"matchPackageNames": [
"/^androidx\\.datastore/"
]
},
{
"description": "Group AndroidX Adaptive UI libraries",
"groupName": "AndroidX Adaptive UI",
"groupSlug": "androidx-adaptive-ui",
"matchPackageNames": [
"/^androidx\\.compose\\.material3\\.adaptive/",
"/^androidx\\.compose\\.material3:material3-adaptive-navigation-suite$/"
]
},
{
"description": "Restrict sensitive infrastructure to patch updates only (manual minor)",
"matchUpdateTypes": [
"minor"
],
"matchPackageNames": [
"/^org\\.jetbrains\\.kotlin/",
"/^org\\.jetbrains\\.kotlinx/",
"/^com\\.google\\.dagger/",
"/^androidx\\.hilt/",
"/^com\\.google\\.protobuf/",
"/^androidx\\.lifecycle/",
"/^androidx\\.navigation/",
"/^androidx\\.datastore/",
"/^androidx\\.compose\\.material3\\.adaptive/",
"/^androidx\\.compose\\.material3:material3-adaptive-navigation-suite$/"
],
"automerge": false
},
{
"description": "Disable automerge for major updates (safety net)",
"matchUpdateTypes": [
"major"
],
"automerge": false
}
]
}