fix: resolve service.impl test context failures and update Java 26-ea to 26#8555
fix: resolve service.impl test context failures and update Java 26-ea to 26#8555
Conversation
…J for Java 26, update Java version to 26 Agent-Logs-Url: https://github.com/Hack23/cia/sessions/1f88b4f5-4c4c-413a-9709-8392efa32da8 Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
…an up debug files Agent-Logs-Url: https://github.com/Hack23/cia/sessions/1f88b4f5-4c4c-413a-9709-8392efa32da8 Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Hack23/cia/sessions/1f88b4f5-4c4c-413a-9709-8392efa32da8 Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Dependency ReviewThe following issues were found:
|
📚 Javadoc GeneratedThe Javadoc documentation has been generated for this PR. Download the |
There was a problem hiding this comment.
Pull request overview
Fixes service.impl Spring test-context initialization and aligns CI configuration with Java 26 GA, while updating Drools configuration to include additional rule packages and work around Java 26 + Drools/ECJ compilation issues.
Changes:
- Add missing ESV Spring XML to
AbstractServiceFunctionalIntegrationTestcontext to resolveNoSuchBeanDefinitionExceptionforEsvApi. - Expand Drools KIE module package coverage (committee + ministry) and adjust test JVM argLine to force Drools Java dialect language level 21.
- Update GitHub Actions workflows and skills documentation from
java-version: 26-eato26.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| service.impl/src/test/java/com/hack23/cia/service/impl/AbstractServiceFunctionalIntegrationTest.java | Adds ESV external service context XML to fix missing bean in integration-test Spring context. |
| service.impl/src/main/resources/META-INF/kmodule.xml | Adds committee/ministry rule packages to the default KIE base. |
| service.impl/src/main/java/com/hack23/cia/service/impl/rules/RulesConfiguration.java | Minor logging formatting/typo fix while using classpath KIE container. |
| service.impl/pom.xml | Configures surefire argLine to force Drools Java dialect language level to 21 for Java 26 compatibility. |
| .github/workflows/release.yml | Switch CI JDK from 26-ea to 26. |
| .github/workflows/javadoc-generation.yml | Switch CI JDK from 26-ea to 26. |
| .github/workflows/copilot-setup-steps.yml | Switch CI JDK from 26-ea to 26. |
| .github/workflows/codeql-analysis.yml | Switch CI JDK from 26-ea to 26. |
| .github/skills/github-actions-workflows/SKILL.md | Updates documented workflow Java version from 26-ea to 26. |
...impl/src/test/java/com/hack23/cia/service/impl/AbstractServiceFunctionalIntegrationTest.java
Outdated
Show resolved
Hide resolved
…tServiceFunctionalIntegrationTest.java Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: James Pether Sörling <pethers@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: James Pether Sörling <pethers@users.noreply.github.com>
|
📚 Javadoc GeneratedThe Javadoc documentation has been generated for this PR. Download the |
1 similar comment
📚 Javadoc GeneratedThe Javadoc documentation has been generated for this PR. Download the |



Description
service.impl integration tests fail with
NoSuchBeanDefinitionException: No qualifying bean of type 'EsvApi'because the test Spring context is missing the ESV service configuration. Additionally, all GitHub workflows referencejava-version: "26-ea"which should now be"26".Root cause of test failures:
AbstractServiceFunctionalIntegrationTestmissingcia-service-external-esv.xmlin@ContextConfigurationkmodule.xmlmissingcommitteeandministryrule packageslnglevel=21overrideChanges
cia-service-external-esv.xmlto@ContextConfigurationlocationscommitteeandministrypackages to KBase1-Ddrools.dialect.java.compiler.lnglevel=21to argLine in service.impl so ECJ compiles DRL-generated Java at source level 21 (matchingjdk.src.version)getKieClasspathContainer()(ECJ with Java 21 source level)26-ea→26in copilot-setup-steps.yml, release.yml, codeql-analysis.yml, javadoc-generation.yml26-eato26Known limitation
Drools 10.1.0 bundles ECJ 3.33.0 which doesn't support Java 26 module-info. The
lnglevel=21workaround tells ECJ to compile at Java 21 source level, avoiding the module-info parsing path. A full fix requires Drools to upgrade its bundled ECJ to a version supporting Java 26.Type of Change
Primary Changes
Technical Changes
Impact Analysis
Political Analysis Impact
Technical Impact
drools-mvelretained (standaloneecj:3.45.0still excluded);drools-ecjtransitive dependency restoredTesting
Unit tests (38) pass. Integration tests that require database data or full Drools rule compilation are constrained by the empty
cia_devdatabase and the upstream ECJ/Java 26 incompatibility.Documentation
Screenshots
N/A
Related Issues
Checklist
Additional Notes
The Drools 10.1.0 + Java 26 incompatibility manifests in two ways:
ProblemReporter.moduleNotFoundNPE when ECJ 3.33.0 encounters Java 26 module-info.classjavacenters module mode whenmodule-info.classfiles are on surefire classpath, producing 52 "module not found" errors for CIA modulesBoth are worked around by forcing
lnglevel=21. A proper fix requires Drools to ship with ECJ ≥ a version supporting Java 26.Security Considerations
Release Notes
Fix service.impl test context loading by adding missing ESV service bean configuration. Update all GitHub workflows from Java 26-ea to Java 26 GA. Add Drools compiler language level workaround for Java 26 compatibility.