The GitHub Actions job "Comment commands" on texera.git/main has succeeded.
Run started by GitHub user Ma77Ball (triggered by Ma77Ball).

Head commit for run:
75ff07e36adcc626a91a41f96b78893e2d5e63c3 / Jiadong Bai 
<[email protected]>
feat(build): bump Scala/Java services to Java 17 LTS (#4938)

### What changes were proposed in this PR?

Bump all Scala/Java microservices from Java 11 to Java 17 LTS, and
centralize the JDK 17 `--add-opens` flags through `.jvmopts` as a
single source of truth.

**Toolchain bumps**

- 8 Dockerfiles under `bin/`: build base
  `sbtscala/scala-sbt:eclipse-temurin-jammy-11.0.17_8_1.9.3_2.13.11`
  → `...-17.0.5_8_1.9.3_2.13.11` (same sbt 1.9.3 + Scala 2.13.11);
  runtime `eclipse-temurin:11-{jdk,jre}-jammy` → `17-{jdk,jre}-jammy`.
- `.github/workflows/build.yml` and `build-and-push-images.yml`:
  `java-version: 11` → `17` (matrix entries + 5 `setup-java` steps).
- `AGENTS.md`: toolchain table.

**`.jvmopts` as single source of truth**

`.jvmopts` lists the seven `--add-opens` flags JDK 17 needs for the
runtime (Pekko, Apache Arrow, Ehcache `SizeOf`, Pekko Kryo
serialization). The same file reaches every JVM the build launches:

- sbt's own JVM: sbt's launcher reads `.jvmopts` directly.
- forked test JVMs (sbt-jacoco): `ThisBuild / Test / javaOptions ++=
  JdkOptions.jvmFlags(...)` in `build.sbt`.
- sbt-native-packager `bin/<svc>` launchers in production dists:
  `Universal / javaOptions ++= JdkOptions.jvmFlags(...).map("-J" + _)`,
  bundled per-project via `asfLicensingSettings` (Universal does not
  cascade from ThisBuild).
- IntelliJ run configs `.run/ComputingUnit{Master,Worker}.run.xml`:
  `VM_PARAMETERS=@$PROJECT_DIR$/.jvmopts` (JDK 9+ argfile expansion).

`project/JdkOptions.scala` (modeled on Pekko's) reads the file once
and exposes a `Seq[String]` for the build to wire up.

### Any related issues, documentation, discussions?

Closes #4937. Refs discussion #4001.

### How was this PR tested?

CI's amber job now finishes in
single-digit minutes, with all 5 `jacoco` tasks passing. Local
verification: `sbt show ThisBuild / Test / javaOptions` and
`sbt show <project> / Universal / javaOptions` confirm flag
propagation across all subprojects; `java @.jvmopts -version`
confirms the JDK accepts the argfile cleanly; running amber
`jacoco` locally hits zero `InaccessibleObjectException`.

### Was this PR authored or co-authored using generative AI tooling?

Generated-by: Claude Code (Opus 4.7)

---------

Co-authored-by: Xinyuan Lin <[email protected]>
Co-authored-by: Bot Bai <[email protected]>
Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]>

Report URL: https://github.com/apache/texera/actions/runs/25596278755

With regards,
GitHub Actions via GitBox

Reply via email to