{ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": [ "config:base" ], "ignorePaths": ["instrumentation/**"], "baseBranches": ["main", "release/v1.33.x"], // needed in order to get patch-only updates in package rules below // unfortunately you can't combine updateTypes and separateMinorPatch in the same package rule // so we have to apply it globally here, see // https://github.com/renovatebot/renovate/discussions/8399#discussioncomment-305798 "separateMinorPatch": true, "packageRules": [ { "matchPackageNames": [ "io.opentelemetry.contrib:opentelemetry-aws-resources", "io.opentelemetry.contrib:opentelemetry-aws-xray-propagator", "io.opentelemetry.contrib:opentelemetry-gcp-resources", "io.opentelemetry.proto:opentelemetry-proto", "io.opentelemetry.semconv:opentelemetry-semconv" ], // Renovate's default behavior is only to update from unstable -> unstable if it's for the // major.minor.patch, under the assumption that you would want to update to the stable version // of that release instead of the unstable version for a future release // (TODO remove once the artifacts above release stable versions) "ignoreUnstable": false, "allowedVersions": "!/\\-SNAPSHOT$/" }, { // we are not going to update the semconv in 1.x branch "matchPackageNames": ["io.opentelemetry.semconv:opentelemetry-semconv"], "matchUpdateTypes": ["minor"], "matchBaseBranches": ["release/v1.33.x"], "enabled": false }, { "matchPackagePrefixes": ["ch.qos.logback:"], "groupName": "logback packages" }, { "matchPackagePrefixes": ["com.google.guava:"], "groupName": "guava packages" }, { "matchPackagePrefixes": ["io.quarkus"], "groupName": "quarkus packages" }, { "matchPackagePrefixes": ["com.gradle.enterprise"], "groupName": "gradle enterprise packages" }, { "matchPackagePrefixes": ["org.eclipse.jetty:"], "groupName": "jetty packages" }, { "matchPackagePrefixes": ["com.linecorp.armeria:"], "groupName": "armeria packages" }, { "matchPackagePrefixes": ["com.diffplug.spotless"], "groupName": "spotless packages" }, { "matchPackagePrefixes": ["net.bytebuddy:"], "groupName": "byte buddy packages" }, { "matchPackagePrefixes": ["com.fasterxml.jackson"], "groupName": "jackson packages" }, { // prevent update to 2.4-groovy-4.0-SNAPSHOT "matchPackageNames": ["org.spockframework:spock-bom"], "allowedVersions": "!/\\-SNAPSHOT$/" }, { // prevent 3.0.1u2 -> 3.0.1 "matchPackageNames": ["com.google.code.findbugs:annotations"], "allowedVersions": "!/3\\.0\\.1$/" }, { // OpenTelemetry SDK updates are handled by auto-update-otel-sdk.yml "matchPackagePrefixes": ["io.opentelemetry:"], "enabled": false }, { // junit-pioneer 2+ requires Java 11+ "matchPackageNames": ["org.junit-pioneer:junit-pioneer"], "matchUpdateTypes": ["major"], "enabled": false }, { // mockito 5+ requires Java 11+ "matchPackagePrefixes": ["org.mockito:"], "matchUpdateTypes": ["major"], "enabled": false }, { // system-stubs-jupiter 2.1+ requires Java 11+ "matchPackageNames": ["uk.org.webcompere:system-stubs-jupiter"], "matchUpdateTypes": ["major", "minor"], "enabled": false }, { // intentionally using Spring Boot 2 in this smoke tests // new versions of Spring Boot 3 are tested with // https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/dc4330e0a3060bd7d8c4090ad0b8fc4727e68113/settings.gradle.kts#L43-L45 "matchFileNames": [ "smoke-tests/images/spring-boot/build.gradle.kts", "smoke-tests-otel-starter/spring-boot-2/build.gradle.kts", "smoke-tests-otel-starter/spring-boot-common/build.gradle.kts", "smoke-tests-otel-starter/spring-boot-reactive-2/build.gradle.kts", "smoke-tests-otel-starter/spring-boot-reactive-common/build.gradle.kts", "smoke-tests-otel-starter/spring-smoke-testing/build.gradle.kts" ], "matchPackageNames": [ "org.slf4j:slf4j-api", "org.springframework.boot", "org.springframework.boot:spring-boot-dependencies"], "matchUpdateTypes": ["major", "minor"], "enabled": false, }, { // intentionally using Spring Boot 2 in this smoke tests "matchFileNames": [ "smoke-tests-otel-starter/spring-boot-2/build.gradle.kts", "smoke-tests-otel-starter/spring-boot-reactive-2/build.gradle.kts" ], "matchPackageNames": ["ch.qos.logback:logback-classic"], "matchUpdateTypes": ["minor"], "enabled": false, }, { // intentionally using logback 1.2 in this smoke tests "matchFileNames": ["smoke-tests/images/spring-boot/build.gradle.kts"], "matchPackagePrefixes": ["ch.qos.logback:"], "matchUpdateTypes": ["major", "minor"], "enabled": false }, { // intentionally using slf4j 1 in this smoke tests "matchFileNames": ["smoke-tests/images/spring-boot/build.gradle.kts"], "matchPackagePrefixes": ["org.slf4j:"], "matchUpdateTypes": ["major"], "enabled": false }, { // intentionally aligning both netty 4.0 and 4.1 version in this convention "matchFileNames": ["conventions/src/main/kotlin/otel.java-conventions.gradle.kts"], "matchPackageNames": ["io.netty:netty-bom"], "matchUpdateTypes": ["major", "minor"], "enabled": false }, { // intentionally using scala 2.11 in otel.scala-conventions.gradle.kts "matchFileNames": ["conventions/src/main/kotlin/otel.scala-conventions.gradle.kts"], "matchPackagePrefixes": ["org.scala-lang:scala-library"], "matchUpdateTypes": ["major", "minor"], "enabled": false }, { // intentionally using Java 11 in some examples // not using matchUpdateTypes "major", because renovate wants to bump "11-jre" to "11.0.19_7-jre" "matchPackageNames": ["eclipse-temurin"], "enabled": false }, { // using old version of this obscure artifact to test instrumentation of Java 1.1 bytecode "matchPackageNames": ["net.sf.jt400:jt400"], "matchCurrentVersion": "6.1", "enabled": false }, { // pinned version for compatibility "matchPackageNames": ["javax.servlet:javax.servlet-api"], "matchCurrentVersion": "3.0.1", "enabled": false }, { // pinned version for compatibility "matchPackageNames": ["jakarta.servlet:jakarta.servlet-api"], "matchCurrentVersion": "5.0.0", "enabled": false }, { // intentionally using logback 1.3 in dependency management (for Java 8 support) "matchFileNames": ["dependencyManagement/build.gradle.kts"], "matchPackagePrefixes": ["ch.qos.logback:"], "matchUpdateTypes": ["major", "minor"], "enabled": false }, { // intentionally using Spring Boot 2 in dependency management (for Java 8 support) "matchFileNames": ["dependencyManagement/build.gradle.kts"], "matchPackagePrefixes": ["org.springframework.boot:spring-boot-dependencies"], "matchUpdateTypes": ["major"], "enabled": false }, { // pinned version to Jetty 8 (Servlet 3.0) for compatibility "matchFileNames": ["examples/distro/instrumentation/servlet-3/build.gradle"], "matchPackagePrefixes": ["org.eclipse.jetty:"], "matchUpdateTypes": ["major"], "enabled": false } ] }