renovate.json5 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. {
  2. "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  3. "extends": [
  4. "config:base"
  5. ],
  6. "ignorePaths": ["instrumentation/**"],
  7. "baseBranches": ["main", "release/v1.33.x"],
  8. // needed in order to get patch-only updates in package rules below
  9. // unfortunately you can't combine updateTypes and separateMinorPatch in the same package rule
  10. // so we have to apply it globally here, see
  11. // https://github.com/renovatebot/renovate/discussions/8399#discussioncomment-305798
  12. "separateMinorPatch": true,
  13. "packageRules": [
  14. {
  15. "matchPackageNames": [
  16. "io.opentelemetry.contrib:opentelemetry-aws-resources",
  17. "io.opentelemetry.contrib:opentelemetry-aws-xray-propagator",
  18. "io.opentelemetry.contrib:opentelemetry-gcp-resources",
  19. "io.opentelemetry.proto:opentelemetry-proto",
  20. "io.opentelemetry.semconv:opentelemetry-semconv"
  21. ],
  22. // Renovate's default behavior is only to update from unstable -> unstable if it's for the
  23. // major.minor.patch, under the assumption that you would want to update to the stable version
  24. // of that release instead of the unstable version for a future release
  25. // (TODO remove once the artifacts above release stable versions)
  26. "ignoreUnstable": false,
  27. "allowedVersions": "!/\\-SNAPSHOT$/"
  28. },
  29. {
  30. // we are not going to update the semconv in 1.x branch
  31. "matchPackageNames": ["io.opentelemetry.semconv:opentelemetry-semconv"],
  32. "matchUpdateTypes": ["minor"],
  33. "matchBaseBranches": ["release/v1.33.x"],
  34. "enabled": false
  35. },
  36. {
  37. "matchPackagePrefixes": ["ch.qos.logback:"],
  38. "groupName": "logback packages"
  39. },
  40. {
  41. "matchPackagePrefixes": ["com.google.guava:"],
  42. "groupName": "guava packages"
  43. },
  44. {
  45. "matchPackagePrefixes": ["io.quarkus"],
  46. "groupName": "quarkus packages"
  47. },
  48. {
  49. "matchPackagePrefixes": ["com.gradle.enterprise"],
  50. "groupName": "gradle enterprise packages"
  51. },
  52. {
  53. "matchPackagePrefixes": ["org.eclipse.jetty:"],
  54. "groupName": "jetty packages"
  55. },
  56. {
  57. "matchPackagePrefixes": ["com.linecorp.armeria:"],
  58. "groupName": "armeria packages"
  59. },
  60. {
  61. "matchPackagePrefixes": ["com.diffplug.spotless"],
  62. "groupName": "spotless packages"
  63. },
  64. {
  65. "matchPackagePrefixes": ["net.bytebuddy:"],
  66. "groupName": "byte buddy packages"
  67. },
  68. {
  69. "matchPackagePrefixes": ["com.fasterxml.jackson"],
  70. "groupName": "jackson packages"
  71. },
  72. {
  73. // prevent update to 2.4-groovy-4.0-SNAPSHOT
  74. "matchPackageNames": ["org.spockframework:spock-bom"],
  75. "allowedVersions": "!/\\-SNAPSHOT$/"
  76. },
  77. {
  78. // prevent 3.0.1u2 -> 3.0.1
  79. "matchPackageNames": ["com.google.code.findbugs:annotations"],
  80. "allowedVersions": "!/3\\.0\\.1$/"
  81. },
  82. {
  83. // OpenTelemetry SDK updates are handled by auto-update-otel-sdk.yml
  84. "matchPackagePrefixes": ["io.opentelemetry:"],
  85. "enabled": false
  86. },
  87. {
  88. // junit-pioneer 2+ requires Java 11+
  89. "matchPackageNames": ["org.junit-pioneer:junit-pioneer"],
  90. "matchUpdateTypes": ["major"],
  91. "enabled": false
  92. },
  93. {
  94. // mockito 5+ requires Java 11+
  95. "matchPackagePrefixes": ["org.mockito:"],
  96. "matchUpdateTypes": ["major"],
  97. "enabled": false
  98. },
  99. {
  100. // system-stubs-jupiter 2.1+ requires Java 11+
  101. "matchPackageNames": ["uk.org.webcompere:system-stubs-jupiter"],
  102. "matchUpdateTypes": ["major", "minor"],
  103. "enabled": false
  104. },
  105. {
  106. // intentionally using Spring Boot 2 in this smoke tests
  107. // new versions of Spring Boot 3 are tested with
  108. // https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/dc4330e0a3060bd7d8c4090ad0b8fc4727e68113/settings.gradle.kts#L43-L45
  109. "matchFileNames": [
  110. "smoke-tests/images/spring-boot/build.gradle.kts",
  111. "smoke-tests-otel-starter/spring-boot-2/build.gradle.kts",
  112. "smoke-tests-otel-starter/spring-boot-common/build.gradle.kts",
  113. "smoke-tests-otel-starter/spring-boot-reactive-2/build.gradle.kts",
  114. "smoke-tests-otel-starter/spring-boot-reactive-common/build.gradle.kts",
  115. "smoke-tests-otel-starter/spring-smoke-testing/build.gradle.kts"
  116. ],
  117. "matchPackageNames": [
  118. "org.slf4j:slf4j-api",
  119. "org.springframework.boot",
  120. "org.springframework.boot:spring-boot-dependencies"],
  121. "matchUpdateTypes": ["major", "minor"],
  122. "enabled": false,
  123. },
  124. {
  125. // intentionally using Spring Boot 2 in this smoke tests
  126. "matchFileNames": [
  127. "smoke-tests-otel-starter/spring-boot-2/build.gradle.kts",
  128. "smoke-tests-otel-starter/spring-boot-reactive-2/build.gradle.kts"
  129. ],
  130. "matchPackageNames": ["ch.qos.logback:logback-classic"],
  131. "matchUpdateTypes": ["minor"],
  132. "enabled": false,
  133. },
  134. {
  135. // intentionally using logback 1.2 in this smoke tests
  136. "matchFileNames": ["smoke-tests/images/spring-boot/build.gradle.kts"],
  137. "matchPackagePrefixes": ["ch.qos.logback:"],
  138. "matchUpdateTypes": ["major", "minor"],
  139. "enabled": false
  140. },
  141. {
  142. // intentionally using slf4j 1 in this smoke tests
  143. "matchFileNames": ["smoke-tests/images/spring-boot/build.gradle.kts"],
  144. "matchPackagePrefixes": ["org.slf4j:"],
  145. "matchUpdateTypes": ["major"],
  146. "enabled": false
  147. },
  148. {
  149. // intentionally aligning both netty 4.0 and 4.1 version in this convention
  150. "matchFileNames": ["conventions/src/main/kotlin/otel.java-conventions.gradle.kts"],
  151. "matchPackageNames": ["io.netty:netty-bom"],
  152. "matchUpdateTypes": ["major", "minor"],
  153. "enabled": false
  154. },
  155. {
  156. // intentionally using scala 2.11 in otel.scala-conventions.gradle.kts
  157. "matchFileNames": ["conventions/src/main/kotlin/otel.scala-conventions.gradle.kts"],
  158. "matchPackagePrefixes": ["org.scala-lang:scala-library"],
  159. "matchUpdateTypes": ["major", "minor"],
  160. "enabled": false
  161. },
  162. {
  163. // intentionally using Java 11 in some examples
  164. // not using matchUpdateTypes "major", because renovate wants to bump "11-jre" to "11.0.19_7-jre"
  165. "matchPackageNames": ["eclipse-temurin"],
  166. "enabled": false
  167. },
  168. {
  169. // using old version of this obscure artifact to test instrumentation of Java 1.1 bytecode
  170. "matchPackageNames": ["net.sf.jt400:jt400"],
  171. "matchCurrentVersion": "6.1",
  172. "enabled": false
  173. },
  174. {
  175. // pinned version for compatibility
  176. "matchPackageNames": ["javax.servlet:javax.servlet-api"],
  177. "matchCurrentVersion": "3.0.1",
  178. "enabled": false
  179. },
  180. {
  181. // pinned version for compatibility
  182. "matchPackageNames": ["jakarta.servlet:jakarta.servlet-api"],
  183. "matchCurrentVersion": "5.0.0",
  184. "enabled": false
  185. },
  186. {
  187. // intentionally using logback 1.3 in dependency management (for Java 8 support)
  188. "matchFileNames": ["dependencyManagement/build.gradle.kts"],
  189. "matchPackagePrefixes": ["ch.qos.logback:"],
  190. "matchUpdateTypes": ["major", "minor"],
  191. "enabled": false
  192. },
  193. {
  194. // intentionally using Spring Boot 2 in dependency management (for Java 8 support)
  195. "matchFileNames": ["dependencyManagement/build.gradle.kts"],
  196. "matchPackagePrefixes": ["org.springframework.boot:spring-boot-dependencies"],
  197. "matchUpdateTypes": ["major"],
  198. "enabled": false
  199. },
  200. {
  201. // pinned version to Jetty 8 (Servlet 3.0) for compatibility
  202. "matchFileNames": ["examples/distro/instrumentation/servlet-3/build.gradle"],
  203. "matchPackagePrefixes": ["org.eclipse.jetty:"],
  204. "matchUpdateTypes": ["major"],
  205. "enabled": false
  206. }
  207. ]
  208. }