linghengqian opened a new pull request, #39878:
URL: https://github.com/apache/shardingsphere/pull/39878

   For #39769 .
   
   Changes proposed in this pull request:
     - Bump GraalVM Native Build Tools to `1.1.12`.
     - Reopen `native-image-job-reports` to access the build logs visually.
     - Upgrading `native-maven-plugin` from version `1.1.3` to `1.1.12` changed 
the test ID directory strategy from "globally shared" to "isolated by plugin". 
The native test cases in `test.natived.**` are executed via the JVM using the 
`failsafe` plugin to collect test IDs (with `surefire`'s `skipTests` set to 
`true` in the profile), resulting in IDs being written to 
`target/maven-failsafe-plugin-test-ids/` (which is non-empty). However, the 
profile bound the native execution to the `<goal>test</goal>` goal. In version 
1.1.12, the `NativeTestMojo.configureEnvironment()` method matches 
`currentGoal="test"` to the `surefire` plugin's `default-test` execution first; 
consequently, the `native-image` argument 
`-Djunit.platform.listeners.uid.tracking.output.dir` points to 
`maven-surefire-plugin-test-ids/` (as confirmed by the CI command line). Since 
`surefire` was skipped, this directory is empty, causing `getSelectors` to 
throw an error. In version 1.1.3, both reading and writing used th
 e same `target/test-ids` directory, allowing the old version to pass; this is 
a behavioral change following the upgrade (related to 
graalvm/native-build-tools#738 ). Since the native test cases are driven by 
`failsafe`, the configuration should be updated to use the plugin's 
corresponding `native:integration-test` goal (as only 
`currentGoal="integration-test"` triggers the `failsafe` branch logic that 
reads from `maven-failsafe-plugin-test-ids`).
   ```bash
   Error: Feature defined by org.graalvm.junit.platform.JUnitPlatformFeature ...
   Caused by: java.lang.RuntimeException: Cannot compute test selectors from 
test ids.
       at JUnitPlatformFeature.getSelectors(JUnitPlatformFeature.java:138)
   ```
   
   ---
   
   Before committing this PR, I'm sure that I have checked the following 
options:
   - [x] My code follows the [code of 
conduct](https://shardingsphere.apache.org/community/en/involved/conduct/code/) 
of this project.
   - [x] I have self-reviewed the commit code.
   - [x] I have (or in comment I request) added corresponding labels for the 
pull request.
   - [x] I have passed maven check locally : `./mvnw clean install -B -T1C 
-Dmaven.javadoc.skip -Dmaven.jacoco.skip -e`.
   - [x] I have made corresponding changes to the documentation.
   - [ ] I have added corresponding unit tests for my changes.
   - [ ] I have updated the Release Notes of the current development version. 
For more details, see [Update Release 
Note](https://shardingsphere.apache.org/community/en/involved/contribute/contributor/)
   - [ ] I have disclosed the tool and affected files or scope for any material 
AI assistance, as required by the [AI-assisted contribution policy].
   
   [AI-assisted contribution policy]: 
https://github.com/apache/shardingsphere/blob/master/AI_POLICY.md
   


-- 
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]

Reply via email to