renovate.json5 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  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-xray-propagator",
  17. "io.opentelemetry.proto:opentelemetry-proto",
  18. "io.opentelemetry.semconv:opentelemetry-semconv"
  19. ],
  20. // Renovate's default behavior is only to update from unstable -> unstable if it's for the
  21. // major.minor.patch, under the assumption that you would want to update to the stable version
  22. // of that release instead of the unstable version for a future release
  23. // (TODO remove once the artifacts above release stable versions)
  24. "ignoreUnstable": false,
  25. "allowedVersions": "!/\\-SNAPSHOT$/"
  26. },
  27. {
  28. "matchPackagePrefixes": ["ch.qos.logback:"],
  29. "groupName": "logback packages"
  30. },
  31. {
  32. "matchPackagePrefixes": ["com.google.guava:"],
  33. "groupName": "guava packages"
  34. },
  35. {
  36. "matchPackagePrefixes": ["io.quarkus"],
  37. "groupName": "quarkus packages"
  38. },
  39. {
  40. "matchPackagePrefixes": ["com.gradle.enterprise"],
  41. "groupName": "gradle enterprise packages"
  42. },
  43. {
  44. "matchPackagePrefixes": ["org.eclipse.jetty:"],
  45. "groupName": "jetty packages"
  46. },
  47. {
  48. "matchPackagePrefixes": ["com.linecorp.armeria:"],
  49. "groupName": "armeria packages"
  50. },
  51. {
  52. "matchPackagePrefixes": ["com.diffplug.spotless"],
  53. "groupName": "spotless packages"
  54. },
  55. {
  56. "matchPackagePrefixes": ["net.bytebuddy:"],
  57. "groupName": "byte buddy packages"
  58. },
  59. {
  60. "matchPackagePrefixes": ["com.fasterxml.jackson"],
  61. "groupName": "jackson packages"
  62. },
  63. {
  64. // prevent update to 2.4-groovy-4.0-SNAPSHOT
  65. "matchPackageNames": ["org.spockframework:spock-bom"],
  66. "allowedVersions": "!/\\-SNAPSHOT$/"
  67. },
  68. {
  69. // prevent 3.0.1u2 -> 3.0.1
  70. "matchPackageNames": ["com.google.code.findbugs:annotations"],
  71. "allowedVersions": "!/3\\.0\\.1$/"
  72. },
  73. {
  74. // OpenTelemetry SDK updates are handled by auto-update-otel-sdk.yml
  75. "matchPackagePrefixes": ["io.opentelemetry:"],
  76. "enabled": false
  77. },
  78. {
  79. // junit-pioneer 2+ requires Java 11+
  80. "matchPackageNames": ["org.junit-pioneer:junit-pioneer"],
  81. "matchUpdateTypes": ["major"],
  82. "enabled": false
  83. },
  84. {
  85. // mockito 5+ requires Java 11+
  86. "matchPackagePrefixes": ["org.mockito:"],
  87. "matchUpdateTypes": ["major"],
  88. "enabled": false
  89. },
  90. {
  91. // system-stubs-jupiter 2.1+ requires Java 11+
  92. "matchPackageNames": ["uk.org.webcompere:system-stubs-jupiter"],
  93. "matchUpdateTypes": ["major", "minor"],
  94. "enabled": false
  95. },
  96. {
  97. // intentionally using Spring Boot 2 in this smoke tests
  98. "matchFileNames": ["smoke-tests/images/spring-boot/build.gradle.kts"],
  99. "matchPackageNames": ["org.springframework.boot", "org.springframework.boot:spring-boot-dependencies"],
  100. "matchUpdateTypes": ["major"],
  101. "enabled": false,
  102. },
  103. {
  104. // intentionally using logback 1.2 in this smoke tests
  105. "matchFileNames": ["smoke-tests/images/spring-boot/build.gradle.kts"],
  106. "matchPackagePrefixes": ["ch.qos.logback:"],
  107. "matchUpdateTypes": ["major", "minor"],
  108. "enabled": false
  109. },
  110. {
  111. // intentionally using slf4j 1 in this smoke tests
  112. "matchFileNames": ["smoke-tests/images/spring-boot/build.gradle.kts"],
  113. "matchPackagePrefixes": ["org.slf4j:"],
  114. "matchUpdateTypes": ["major"],
  115. "enabled": false
  116. },
  117. {
  118. // intentionally aligning both netty 4.0 and 4.1 version in this convention
  119. "matchFileNames": ["conventions/src/main/kotlin/otel.java-conventions.gradle.kts"],
  120. "matchPackageNames": ["io.netty:netty-bom"],
  121. "matchUpdateTypes": ["major", "minor"],
  122. "enabled": false
  123. },
  124. {
  125. // intentionally using scala 2.11 in otel.scala-conventions.gradle.kts
  126. "matchFileNames": ["conventions/src/main/kotlin/otel.scala-conventions.gradle.kts"],
  127. "matchPackagePrefixes": ["org.scala-lang:scala-library"],
  128. "matchUpdateTypes": ["major", "minor"],
  129. "enabled": false
  130. },
  131. {
  132. // intentionally using Java 11 in some examples
  133. // not using matchUpdateTypes "major", because renovate wants to bump "11-jre" to "11.0.19_7-jre"
  134. "matchPackageNames": ["eclipse-temurin"],
  135. "enabled": false
  136. },
  137. {
  138. // using old version of this obscure artifact to test instrumentation of Java 1.1 bytecode
  139. "matchPackageNames": ["net.sf.jt400:jt400"],
  140. "matchCurrentVersion": "6.1",
  141. "enabled": false
  142. },
  143. {
  144. // pinned version for compatibility
  145. "matchPackageNames": ["javax.servlet:javax.servlet-api"],
  146. "matchCurrentVersion": "3.0.1",
  147. "enabled": false
  148. },
  149. {
  150. // pinned version for compatibility
  151. "matchPackageNames": ["jakarta.servlet:jakarta.servlet-api"],
  152. "matchCurrentVersion": "5.0.0",
  153. "enabled": false
  154. },
  155. {
  156. // intentionally using logback 1.3 in dependency management (for Java 8 support)
  157. "matchFileNames": ["dependencyManagement/build.gradle.kts"],
  158. "matchPackagePrefixes": ["ch.qos.logback:"],
  159. "matchUpdateTypes": ["major", "minor"],
  160. "enabled": false
  161. },
  162. {
  163. // intentionally using Spring Boot 2 in dependency management (for Java 8 support)
  164. "matchFileNames": ["dependencyManagement/build.gradle.kts"],
  165. "matchPackagePrefixes": ["org.springframework.boot:spring-boot-dependencies"],
  166. "matchUpdateTypes": ["major"],
  167. "enabled": false
  168. },
  169. {
  170. // pinned version to Jetty 8 (Servlet 3.0) for compatibility
  171. "matchFileNames": ["examples/distro/instrumentation/servlet-3/build.gradle"],
  172. "matchPackagePrefixes": ["org.eclipse.jetty:"],
  173. "matchUpdateTypes": ["major"],
  174. "enabled": false
  175. }
  176. ]
  177. }