Fix CI JDK resolution by switching setup-java to Temurin 26-ea#8470
Fix CI JDK resolution by switching setup-java to Temurin 26-ea#8470
Conversation
…dmap Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Snapshot WarningsEnsure that dependencies are being submitted on PR branches and consider enabling retry-on-snapshot-warnings. See the documentation for more information and troubleshooting advice. Scanned FilesNone |
There was a problem hiding this comment.
Pull request overview
Updates the repository’s “production runtime” Java version to 26 across CI/CD workflows, Maven runtime profiles, and documentation while keeping compilation at Java 21 for compatibility.
Changes:
- Switch GitHub Actions workflows to run on Temurin Java 26 and update associated workflow/runtime documentation.
- Add a
java26Maven profile (activated on JDK 26) mirroring the existingjava25runtime-flag profile. - Refresh multiple docs/plans to reference Java 26 as the active runtime and extend forward-looking Java roadmap content.
Reviewed changes
Copilot reviewed 21 out of 21 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| service.data.impl/sample-data/framework-validation/COMPREHENSIVE_IMPROVEMENT_ANALYSIS.md | Updates embedded workflow snippet to set up Java 26. |
| parent-pom/pom.xml | Adds java26 Maven profile activated on JDK 26 with runtime flags and Java 21 src/target. |
| json-export-specs/IMPLEMENTATION_GUIDE.md | Updates example workflow snippet to use java-version: '26'. |
| WORKFLOWS.md | Updates workflow runtime references and diagrams to Java 26. |
| UnitTestPlan.md | Updates embedded CI snippet to set up JDK 26. |
| README.md | Updates runtime references/table to show Java 26 as current runtime. |
| PATTERN_RECOGNITION_OPTIMIZATION_IMPLEMENTATION.md | Updates runtime prerequisite reference to Java 26. |
| FUTURE_WORKFLOWS.md | Adds Java roadmap/upgrade strategy section and setup-java templates referencing Java 26+. |
| FUTURE_MINDMAP.md | Updates future platform modernization runtime reference to Java 26. |
| FUTURE_ARCHITECTURE.md | Updates future architecture runtime line to Java 26. |
| End-of-Life-Strategy.md | Adds/updates JVM compatibility section and Java roadmap table referencing Java 26 runtime. |
| E2ETestPlan.md | Updates embedded CI snippet and environment description to Java 26. |
| DATA_QUALITY_MONITORING_DASHBOARD.md | Updates “Technology Stack” references from Java 25 to Java 26. |
| .github/workflows/site-generation.yml | Switches workflow env/steps to set up JDK 26. |
| .github/workflows/release.yml | Switches workflow env/steps to set up JDK 26. |
| .github/workflows/javadoc-generation.yml | Switches workflow env/steps to set up JDK 26. |
| .github/workflows/copilot-setup-steps.yml | Switches workflow step to set up JDK 26. |
| .github/workflows/codeql-analysis.yml | Switches workflow env/steps to set up JDK 26. |
| .github/release-drafter.yml | Updates release template runtime line to Java 26. |
| .github/copilot-instructions.md | Updates stated runtime/prerequisites to Java 26. |
| .github/WORKFLOWS.md | Updates workflow environment reference to Java 26. |
FUTURE_WORKFLOWS.md
Outdated
| section 2027 — LTS Horizon | ||
| Java 27 LTS : Projected LTS — planned as next production runtime upgrade | ||
| Source still Java 21 : Stable source compatibility maintained | ||
|
|
||
| section 2028–2029 — Feature Releases | ||
| Java 28–30 : Feature releases — CI compatibility maintained automatically | ||
| Jakarta evaluation : Assess whether migration enables new LTS benefits | ||
|
|
||
| section 2030–2033 — AGI Era | ||
| Java 31 LTS : Next major LTS — potential Jakarta migration trigger |
| | **Java 21** | LTS | Source compilation level — no change | Maintained indefinitely | | ||
| | **Java 25** | LTS | Previously runtime — now fallback compatible | Maintained in POM profile | | ||
| | **Java 26** | Feature | **Current runtime** — all workflows updated | Active (2026) | | ||
| | **Java 27** | LTS | Priority upgrade — CI/CD pipeline update within 1 month of GA | Projected 2027 | | ||
| | **Java 28** | Feature | CI compatibility test within 3 months of GA | Projected March 2028 | |
FUTURE_WORKFLOWS.md
Outdated
|
|
||
| **Profile Conventions:** | ||
| - All profiles with Java ≥ 22 set `<forbiddenapis.skip>true</forbiddenapis.skip>` (unavailable signatures) | ||
| - All profiles use `--enable-native-access=ALL-UNNAMED` for modern JVM compatibility |
FUTURE_WORKFLOWS.md
Outdated
| # Current configuration — Java 26 | ||
| - name: Set up JDK 26 | ||
| uses: actions/setup-java@v5 | ||
| with: | ||
| distribution: 'temurin' | ||
| java-version: '26' | ||
| java-package: 'jdk' | ||
| check-latest: true | ||
| architecture: 'x64' | ||
|
|
End-of-Life-Strategy.md
Outdated
| | **Java 27** | 🔮 Projected | LTS | September 2031 (est.) | Next LTS — planned runtime upgrade | | ||
| | **Java 28** | 🔮 Projected | Feature | March 2028 (est.) | Feature release — compatibility testing planned | | ||
| | **Java 29** | 🔮 Projected | Feature | September 2028 (est.) | Feature release | | ||
| | **Java 30** | 🔮 Projected | Feature | March 2029 (est.) | Feature release | | ||
| | **Java 31** | 🔮 Projected | LTS | September 2032 (est.) | Next LTS after 27 — major upgrade candidate if Jakarta migration occurs | | ||
|
|
||
| > **Note**: Java feature releases follow a 6-month cadence (March and September). LTS releases occur every 2–3 years. CIA platform targets the latest available runtime while maintaining Java 21 source compatibility to maximize tooling and library support without requiring a Jakarta namespace migration. |
| with: | ||
| java-version: '25' | ||
| java-version: '26' | ||
| distribution: 'temurin' |
|
@copilot apply changes based on the comments in this thread |
… profile docs Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
All 6 review comments addressed in
|
There was a problem hiding this comment.
Pull request overview
Upgrades the project’s production/CI Java runtime from 25 to 26 across GitHub Actions, Maven profiles, and documentation, while keeping source/target compatibility at Java 21.
Changes:
- Updated GitHub Actions workflows to run on Temurin JDK 26.
- Added a
java26Maven profile (activated on JDK 26) mirroring thejava25runtime flags. - Updated multiple docs to reflect Java 26 runtime and added a forward-looking Java roadmap sections/tables.
Reviewed changes
Copilot reviewed 21 out of 21 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| service.data.impl/sample-data/framework-validation/COMPREHENSIVE_IMPROVEMENT_ANALYSIS.md | Updates workflow example to use Java 26 runtime. |
| parent-pom/pom.xml | Adds java26 Maven profile activated on JDK 26 with runtime flags and src/target 21. |
| json-export-specs/IMPLEMENTATION_GUIDE.md | Updates example workflow to Java 26 and pins action SHAs. |
| WORKFLOWS.md | Updates workflow runtime references and diagrams to Java 26. |
| UnitTestPlan.md | Updates test-plan workflow snippet to Java 26. |
| README.md | Updates JDK compatibility/runtime table and build configuration to Java 26 runtime. |
| PATTERN_RECOGNITION_OPTIMIZATION_IMPLEMENTATION.md | Updates runtime prerequisite from Java 25 to 26. |
| FUTURE_WORKFLOWS.md | Adds Java roadmap/strategy section and updates workflow guidance to Java 26. |
| FUTURE_MINDMAP.md | Updates platform modernization runtime to Java 26. |
| FUTURE_ARCHITECTURE.md | Updates architecture timeline row to Java 26 runtime. |
| End-of-Life-Strategy.md | Adds runtime/source statements and Java roadmap/EOL table including Java 26 runtime. |
| E2ETestPlan.md | Updates e2e workflow snippet and environment notes to Java 26. |
| DATA_QUALITY_MONITORING_DASHBOARD.md | Updates tech stack runtime references to Java 26. |
| .github/workflows/site-generation.yml | Updates workflow env/steps to use JDK 26. |
| .github/workflows/release.yml | Updates workflow env/steps to use JDK 26. |
| .github/workflows/javadoc-generation.yml | Updates workflow env/steps to use JDK 26. |
| .github/workflows/copilot-setup-steps.yml | Updates workflow JDK setup step to Java 26. |
| .github/workflows/codeql-analysis.yml | Updates workflow env/steps to use JDK 26. |
| .github/release-drafter.yml | Updates release template runtime label to Java 26. |
| .github/copilot-instructions.md | Updates contributor instructions to Java 26 runtime. |
| .github/WORKFLOWS.md | Updates workflow environment docs to Java 26. |
| | **Java 27** | Feature | CI compatibility test within 3 months of GA | Projected September 2027 | | ||
| | **Java 28** | Feature | CI compatibility test within 3 months of GA | Projected March 2028 | | ||
| | **Java 29** | LTS | Priority upgrade — CI/CD pipeline update within 1 month of GA | Projected September 2028 | | ||
| | **Java 30** | Feature | CI compatibility test within 3 months of GA | Projected March 2029 | | ||
| | **Java 31** | Feature | CI compatibility test within 3 months of GA | Projected September 2029 | | ||
| | **Java 33** | LTS | Major upgrade — evaluate Jakarta migration | Projected September 2030 | |
| | **Java 22** | 🔵 Compatible | Feature | March 2025 | No changes required | | ||
| | **Java 23** | 🔵 Compatible | Feature | March 2025 | No changes required | | ||
| | **Java 24** | 🔵 Compatible | Feature | September 2025 | No changes required | | ||
| | **Java 25** | 🟡 Compatible | LTS | September 2031 | LTS milestone — previously used as runtime | | ||
| | **Java 26** | 🟢 **Current Runtime** | Feature | March 2027 | **Active production runtime** — used in CI/CD and deployments | | ||
| | **Java 27** | 🔮 Projected | Feature | March 2028 (est.) | Feature release — compatibility testing planned | | ||
| | **Java 28** | 🔮 Projected | Feature | September 2028 (est.) | Feature release | | ||
| | **Java 29** | 🔮 Projected | LTS | September 2034 (est.) | Next LTS after 25 — planned runtime upgrade | | ||
| | **Java 30** | 🔮 Projected | Feature | March 2029 (est.) | Feature release | | ||
| | **Java 31** | 🔮 Projected | Feature | September 2029 (est.) | Feature release | | ||
| | **Java 33** | 🔮 Projected | LTS | September 2036 (est.) | Next LTS after 29 — major upgrade candidate if Jakarta migration occurs | | ||
|
|
||
| > **Note**: Java feature releases follow a 6-month cadence (March and September). LTS releases occur every 2 years (21, 25, 29, 33…). CIA platform targets the latest available runtime while maintaining Java 21 source compatibility to maximize tooling and library support without requiring a Jakarta namespace migration. |
| | **Java 31** | 🔮 Projected | Feature | September 2029 (est.) | Feature release | | ||
| | **Java 33** | 🔮 Projected | LTS | September 2036 (est.) | Next LTS after 29 — major upgrade candidate if Jakarta migration occurs | | ||
|
|
||
| > **Note**: Java feature releases follow a 6-month cadence (March and September). LTS releases occur every 2 years (21, 25, 29, 33…). CIA platform targets the latest available runtime while maintaining Java 21 source compatibility to maximize tooling and library support without requiring a Jakarta namespace migration. |
| - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | ||
|
|
||
| - name: Set up Java | ||
| uses: actions/setup-java@v3 | ||
| uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 |
| - name: Set up Java 26 | ||
| uses: actions/setup-java@v4 | ||
| with: | ||
| distribution: 'temurin' | ||
| java-version: '25' | ||
| java-version: '26' |
| uses: actions/checkout@v5.0.0 | ||
|
|
||
| - name: Set up JDK 25 | ||
| - name: Set up JDK 26 | ||
| uses: actions/setup-java@v5.0.0 |
| ## JDK Configuration | ||
|
|
||
| The project's workflows are configured to use JDK 21 for building and testing: | ||
| The project's workflows are configured to use JDK 26 for building and testing: |
| ```mermaid | ||
| graph TD | ||
| A[JDK Configuration] --> B[Java 21] | ||
| A[JDK Configuration] --> B[Java 26] |
|
@copilot apply changes based on the comments in this thread |
Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
📚 Javadoc GeneratedThe Javadoc documentation has been generated for this PR. Download the |
|
There was a problem hiding this comment.
Pull request overview
This PR aims to fix GitHub Actions JDK setup failures after the Java 26 migration by aligning actions/setup-java with the currently resolvable Temurin selector (26-ea), while also updating build/docs to reflect Java 26 as the runtime.
Changes:
- Update selected CI workflows to install Temurin Java
26-eaviaactions/setup-java. - Add a Maven
java26profile in the parent POM for JDK-26-specific runtime flags/properties. - Refresh multiple documentation files to reflect “Java 26 runtime / Java 21 source” and related workflow examples.
Reviewed changes
Copilot reviewed 21 out of 21 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
| service.data.impl/sample-data/framework-validation/COMPREHENSIVE_IMPROVEMENT_ANALYSIS.md | Updates embedded workflow snippet to Java 26. |
| parent-pom/pom.xml | Adds java26 Maven profile with JVM flags and properties. |
| json-export-specs/IMPLEMENTATION_GUIDE.md | Updates workflow example action pins and Java version. |
| WORKFLOWS.md | Updates documented runtime/JDK references from 25/21 to 26. |
| UnitTestPlan.md | Updates documented test workflow snippet to JDK 26. |
| README.md | Updates runtime/build configuration and adds JDK 26 compatibility row. |
| PATTERN_RECOGNITION_OPTIMIZATION_IMPLEMENTATION.md | Updates referenced Java version to 26. |
| FUTURE_WORKFLOWS.md | Adds Java platform roadmap section and setup-java example. |
| FUTURE_MINDMAP.md | Updates future mindmap runtime reference to Java 26. |
| FUTURE_ARCHITECTURE.md | Updates future architecture language/runtime row to Java 26. |
| End-of-Life-Strategy.md | Adds Java roadmap/EOL table and states Java 26 as current runtime. |
| E2ETestPlan.md | Updates documented release workflow snippet to JDK 26. |
| DATA_QUALITY_MONITORING_DASHBOARD.md | Updates stack references to Java 26 (src 21). |
| .github/workflows/site-generation.yml | Updates workflow env + JDK setup to Java 26. |
| .github/workflows/release.yml | Updates workflow env + JDK setup to Java 26. |
| .github/workflows/javadoc-generation.yml | Updates workflow env + JDK setup to 26-ea. |
| .github/workflows/copilot-setup-steps.yml | Updates JDK setup to 26-ea. |
| .github/workflows/codeql-analysis.yml | Updates workflow env + JDK setup to 26-ea. |
| .github/release-drafter.yml | Updates release notes template runtime line to Java 26. |
| .github/copilot-instructions.md | Updates documented prerequisites/runtime to Java 26. |
| .github/WORKFLOWS.md | Updates workflow environment documentation to Java 26. |
| with: | ||
| distribution: 'temurin' | ||
| java-version: '25' | ||
| java-version: '26' |
| - name: Set up Java 26 | ||
| uses: actions/setup-java@v4 | ||
| with: | ||
| distribution: 'temurin' | ||
| java-version: '25' | ||
| java-version: '26' |
| | Java Release | Status | Type | EOL | CIA Platform Impact | | ||
| |---|---|---|---|---| | ||
| | **Java 21** | ✅ Source Level | LTS | September 2031 | Source compilation target — maintained for stability | | ||
| | **Java 22** | 🔵 Compatible | Feature | March 2025 | No changes required | |
| uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 | ||
| with: | ||
| distribution: 'temurin' | ||
| java-version: '26' |
| with: | ||
| distribution: 'temurin' | ||
| java-version: '25' | ||
| java-version: '26' |
| uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 | ||
| with: | ||
| java-version: '25' | ||
| java-version: '26' |
| uses: actions/setup-java@v4 | ||
| with: | ||
| java-version: '25' | ||
| java-version: '26' |
| <profile> | ||
| <id>java26</id> | ||
| <activation> | ||
| <jdk>26</jdk> | ||
| </activation> | ||
| <properties> | ||
| <testAdditionalRuntimeArgLine>-XX:+EnableDynamicAgentLoading | ||
| --enable-native-access=ALL-UNNAMED --add-exports | ||
| java.base/sun.nio.ch=ALL-UNNAMED | ||
| --add-exports java.base/jdk.internal.ref=ALL-UNNAMED --add-opens | ||
| java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED | ||
| --add-opens java.base/java.util=ALL-UNNAMED</testAdditionalRuntimeArgLine> | ||
| <jdk.src.version>21</jdk.src.version> | ||
| <jdk.target.version>21</jdk.target.version> | ||
| <forbiddenapis.skip>true</forbiddenapis.skip> | ||
| </properties> |
| - name: Set up JDK 26 | ||
| uses: actions/setup-java@v5.0.0 | ||
| with: | ||
| distribution: 'temurin' | ||
| java-version: '25' | ||
| java-version: '26' | ||
| cache: 'maven' |



Description
The branch was retried after CI continued failing during JDK setup in multiple workflows after the Java 26 migration. This update aligns workflow JDK resolution with what
actions/setup-javacan currently install for Temurin.actions/setup-javacould not resolvejava-version: 26in GitHub-hosted runners.26to26-eain the three failing workflows only.Type of Change
Primary Changes
Political Analysis
Technical Changes
Impact Analysis
Political Analysis Impact
Technical Impact
Testing
Documentation
Screenshots
N/A (workflow configuration only)
Related Issues
Related to #
Checklist
Additional Notes
Updated files:
.github/workflows/copilot-setup-steps.yml.github/workflows/codeql-analysis.yml.github/workflows/javadoc-generation.ymlSecurity Considerations
Release Notes
Fix CI workflow JDK setup failures by using Temurin
26-eain setup-java for Copilot Setup Steps, CodeQL, and Javadoc workflows.📱 Kick off Copilot coding agent tasks wherever you are with GitHub Mobile, available on iOS and Android.