ppkarwasz commented on PR #1462:
URL: https://github.com/apache/commons-lang/pull/1462#issuecomment-3382817534
> -1: There is no Java 8 by default on `macos-latest` the last time we tried
this.
The situation is actually a bit more nuanced than just the absence of Java 8
on `macos-latest`. Those runners are `aarch64` machines, and there is no JDK 8
**Temurin** build for that architecture. Other vendors (e.g. **Zulu**) do
provide JDK 8 distributions for `aarch64`, so it’s not an inherent platform
limitation.
However, I think the bigger question is why we continue to rely on JDK 8 or
11 as the *Maven JVM*. What we really want from CI is twofold:
1. **Build reproducibility**: compile the library with the same JDK we use
for releases. As far as I recall, recent releases were built on JDK 21, though
that was before JDK 25 became GA.
2. **Compatibility testing**: run the test suite across a range of JRE
versions to catch runtime incompatibilities.
The `setup-java` action already supports this kind of setup through **Maven
Toolchains**, so we could configure builds in a way that avoids irrelevant
failures, such as:
* Javadoc quirks (`{@value}` in JDK 8, multi-line `{@code}` in JDK 11)
* SPDX plugin issues on JDK 8, which force us to lock Maven plugins to older
versions
Using toolchains would make the CI pipeline both simpler and more
representative of our actual release and support strategy.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]