Skip to content

test(spring-boot): [Sample Tests 41] Drop Spring Boot 2.4 to 2.6 from the test matrix - #6381

Merged
runningcode merged 2 commits into
mainfrom
no/drop-boot-2.4-2.6
Oct 28, 2026
Merged

runningcode merged 2 commits into
mainfrom
no/drop-boot-2.4-2.6

Conversation

@runningcode

@runningcode runningcode commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

PR Stack (Sample Tests)


📜 Description

Drops Spring Boot 2.4.13, 2.5.15 and 2.6.15 from the Spring Boot 2 matrix, which now tests 2.7.0 and 2.7.18.

  • The Boot 2 suites no longer leave GraphQL and Kafka out below 2.7. bootSupportsGraphqlAndKafka, the conditional dependencies and the compile excludes are gone.
  • The comment on the suites' JVM 17 Kotlin pin now gives 2.7.0 (Spring 5.3.20) as the only reason for it.
  • The Kafka beans stay in a profile, so only the Kafka tests need a broker. The six comments that justified the profile with old-version support now say that instead.

💡 Motivation and Context

Part of JAVA-802 (#6379). Spring Boot 2.4 to 2.6 are long past end of life. They were the only reason for the gating, which would stand in the way of compiling the suites once and running them on each version's classpath in the next PR.

💚 How did you test it?

  • The six Boot 2 tasks pass locally on 2.7.18.

📝 Checklist

  • I added GH Issue ID & Linear ID
  • I added tests to verify the changes.
  • No new PII added or SDK only sends newly added PII if sendDefaultPII is enabled.
  • I updated the docs if needed.
  • I updated the wizard if needed.
  • Review from the native team if needed.
  • No breaking change or entry added to the changelog.
  • No breaking change for hybrid SDKs or communicated to hybrid SDKs.
  • Public API changes reviewed by another Mobile SDK team member or implemented according to the develop docs spec.

🔮 Next steps

#6382 moves the matrix to a Gradle task per version.

#skip-changelog

🤖 Generated with Claude Code

@linear-code

linear-code Bot commented Oct 26, 2026

Copy link
Copy Markdown

JAVA-802

This was referenced Oct 26, 2026
@sentry

sentry Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

📲 Install Builds

Android

🔗 App Name App ID Version Configuration
SDK Size io.sentry.tests.size 8.62.0 (1) release

⚙️ sentry-android Build Distribution Settings

Base automatically changed from no/integration-test-docs to no/remove-system-test-support October 27, 2026 08:05
Base automatically changed from no/remove-system-test-support to no/remove-system-test-runner October 27, 2026 08:05
Base automatically changed from no/remove-system-test-runner to no/boot4-otlp-integration-test October 27, 2026 08:06
Base automatically changed from no/boot4-otlp-integration-test to no/otlp-integration-test October 27, 2026 08:06
Base automatically changed from no/otlp-integration-test to no/otel-agentless-integration-test October 27, 2026 08:06
Base automatically changed from no/otel-agentless-integration-test to no/kafka-integration-test October 27, 2026 08:06
Base automatically changed from no/kafka-integration-test to no/core-integration-test October 27, 2026 08:07
Base automatically changed from no/core-integration-test to no/jul-integration-test October 27, 2026 08:07
Base automatically changed from no/jul-integration-test to no/log4j2-integration-test October 27, 2026 08:07
Base automatically changed from no/log4j2-integration-test to no/spring-integration-test October 27, 2026 08:07
Base automatically changed from no/spring-integration-test to no/spring-7-integration-test October 27, 2026 08:13
Base automatically changed from no/spring-7-integration-test to no/spring-jakarta-integration-test October 27, 2026 08:13
Base automatically changed from no/spring-jakarta-integration-test to no/boot2-otel-agent-integration-test October 27, 2026 08:14
Base automatically changed from no/boot2-otel-agent-integration-test to no/boot4-otel-agent-integration-test October 27, 2026 08:14
@runningcode
runningcode force-pushed the no/boot4-otel-agent-integration-test branch from 43d301d to 7ce9f6d Compare October 27, 2026 08:20
Base automatically changed from no/boot4-otel-agent-integration-test to main October 27, 2026 08:36
Spring Boot 2.4 to 2.6 are long past end of life. They were the only
reason the Boot 2 suites left GraphQL and Kafka out of their compilation
below 2.7, which stands in the way of compiling the suites once and
running them on each Boot version's classpath (JAVA-802).

The Kafka beans stay in a profile, so only the Kafka tests need a broker.

Co-Authored-By: Claude <noreply@anthropic.com>
@runningcode
runningcode marked this pull request as ready for review October 27, 2026 14:39
@runningcode
runningcode requested review from a team and adinauer as code owners October 27, 2026 14:39
…s its own Gradle task (#6382)

* test(spring): Run each Spring Boot matrix version as its own Gradle task

The Spring Boot matrix workflows tested each version by rewriting the
catalog with perl, so a version could only be tested locally by editing
the catalog, and every job recompiled the SDK and the suites.

The new io.sentry.spring-boot-matrix plugin registers a test task per
suite and version, e.g. integrationTestWebfluxBoot3_2_12. It reuses the
suite's compiled classes on a runtime classpath resolved for that
version, which swaps every org.springframework.boot artifact, the BOM
included, as the catalog edit did. The resolved classpaths match the
catalog edit's exactly.

So the SDK and the suites now compile once, against the catalog's
version, and only the runtime varies, which is how users run our jars.
Suite code may only use APIs of the oldest version of its line.

allIntegrationTestsBoot<version> runs one version's suites in a module,
and allIntegrationTestsBoot<major> every version's. Each workflow runs
the latter from the root in one job per Boot line, with --continue so a
failing version doesn't hide the others. The versions live only in
SpringBootVersions in build-logic.

Resolves JAVA-802

Co-Authored-By: Claude <noreply@anthropic.com>

* test(spring): Run each Spring Boot version in its own CI job

One job per Boot line doubled the matrix wall time, e.g. 12.5 minutes
instead of about 6 for Boot 3. A single runner ran every version's suites,
and the bare task name made Gradle configure every project to find it.

The versions move to gradle/spring-boot-versions.json. build-logic reads
it, and each workflow turns its line into one job per version, which runs
that version's aggregate in both modules by project path. The version list
stays in one place, and the check names match main's again.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(spring): Create the Spring Boot matrix classpaths as resolvable configurations

They're only ever resolved, so configurations.resolvable() fits them
better than create() with isCanBeConsumed = false: nothing can consume
them or declare dependencies on them. Every matrix classpath resolves the
same as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
@runningcode
runningcode enabled auto-merge (squash) October 28, 2026 14:50
@runningcode
runningcode merged commit 8c17e6d into main Oct 28, 2026
43 of 44 checks passed
@runningcode
runningcode deleted the no/drop-boot-2.4-2.6 branch October 28, 2026 15:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants