renovate.json5 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  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. "matchFileNames": ["smoke-tests/images/spring-boot/build.gradle.kts"],
  108. "matchPackageNames": ["org.springframework.boot", "org.springframework.boot:spring-boot-dependencies"],
  109. "matchUpdateTypes": ["major"],
  110. "enabled": false,
  111. },
  112. {
  113. // intentionally using logback 1.2 in this smoke tests
  114. "matchFileNames": ["smoke-tests/images/spring-boot/build.gradle.kts"],
  115. "matchPackagePrefixes": ["ch.qos.logback:"],
  116. "matchUpdateTypes": ["major", "minor"],
  117. "enabled": false
  118. },
  119. {
  120. // intentionally using slf4j 1 in this smoke tests
  121. "matchFileNames": ["smoke-tests/images/spring-boot/build.gradle.kts"],
  122. "matchPackagePrefixes": ["org.slf4j:"],
  123. "matchUpdateTypes": ["major"],
  124. "enabled": false
  125. },
  126. {
  127. // intentionally aligning both netty 4.0 and 4.1 version in this convention
  128. "matchFileNames": ["conventions/src/main/kotlin/otel.java-conventions.gradle.kts"],
  129. "matchPackageNames": ["io.netty:netty-bom"],
  130. "matchUpdateTypes": ["major", "minor"],
  131. "enabled": false
  132. },
  133. {
  134. // intentionally using scala 2.11 in otel.scala-conventions.gradle.kts
  135. "matchFileNames": ["conventions/src/main/kotlin/otel.scala-conventions.gradle.kts"],
  136. "matchPackagePrefixes": ["org.scala-lang:scala-library"],
  137. "matchUpdateTypes": ["major", "minor"],
  138. "enabled": false
  139. },
  140. {
  141. // intentionally using Java 11 in some examples
  142. // not using matchUpdateTypes "major", because renovate wants to bump "11-jre" to "11.0.19_7-jre"
  143. "matchPackageNames": ["eclipse-temurin"],
  144. "enabled": false
  145. },
  146. {
  147. // using old version of this obscure artifact to test instrumentation of Java 1.1 bytecode
  148. "matchPackageNames": ["net.sf.jt400:jt400"],
  149. "matchCurrentVersion": "6.1",
  150. "enabled": false
  151. },
  152. {
  153. // pinned version for compatibility
  154. "matchPackageNames": ["javax.servlet:javax.servlet-api"],
  155. "matchCurrentVersion": "3.0.1",
  156. "enabled": false
  157. },
  158. {
  159. // pinned version for compatibility
  160. "matchPackageNames": ["jakarta.servlet:jakarta.servlet-api"],
  161. "matchCurrentVersion": "5.0.0",
  162. "enabled": false
  163. },
  164. {
  165. // intentionally using logback 1.3 in dependency management (for Java 8 support)
  166. "matchFileNames": ["dependencyManagement/build.gradle.kts"],
  167. "matchPackagePrefixes": ["ch.qos.logback:"],
  168. "matchUpdateTypes": ["major", "minor"],
  169. "enabled": false
  170. },
  171. {
  172. // intentionally using Spring Boot 2 in dependency management (for Java 8 support)
  173. "matchFileNames": ["dependencyManagement/build.gradle.kts"],
  174. "matchPackagePrefixes": ["org.springframework.boot:spring-boot-dependencies"],
  175. "matchUpdateTypes": ["major"],
  176. "enabled": false
  177. },
  178. {
  179. // pinned version to Jetty 8 (Servlet 3.0) for compatibility
  180. "matchFileNames": ["examples/distro/instrumentation/servlet-3/build.gradle"],
  181. "matchPackagePrefixes": ["org.eclipse.jetty:"],
  182. "matchUpdateTypes": ["major"],
  183. "enabled": false
  184. }
  185. ]
  186. }