keksmd opened a new pull request, #962:
URL: https://github.com/apache/incubator-graphar/pull/962
### Reason for this PR
No workflow compiles `maven-projects/storage-api`. `java.yml` is filtered to
`maven-projects/java/**` and `java-info.yml` to `maven-projects/info/**`, so
a
change to the storage API merged in #958 reaches `main` having passed only
the
license, pre-commit, and PR-title checks. Nothing proves it builds or that
its
tests pass.
That gap widens with every module planned under #947 (physical IO, Parquet
backend, chunk layout, reader, writer): each would land with green checks
that
never invoked `javac`.
### What changes are included in this PR?
A `GraphAr Java SDK CI` workflow that, for the pure-Java SDK reactor, runs:
- `mvn -pl ${SDK_MODULES} -am spotless:check`
- `mvn -pl ${SDK_MODULES} -am clean verify -Dspotless.check.skip=true`
- `mvn -pl ${SDK_MODULES} -am javadoc:javadoc`
The selected module list is a single `SDK_MODULES` environment variable,
today
`storage-api`. Each new module extends that one line in the PR that
introduces
it, which keeps the addition visible to a reviewer.
The reactor is selected by inclusion rather than by excluding `java` and
`spark`: those two aggregators enumerate their submodules inside
profile-scoped
`<modules>` lists, so `-pl '!java,!spark'` still pulls `graphar-datasources`
into the reactor and fails on the Scala compile.
Path filters cover the SDK module directories and `maven-projects/pom.xml`.
### Are these changes tested?
Yes, by running the workflow's exact three commands against this branch:
```
mvn --no-transfer-progress -pl storage-api -am spotless:check
BUILD SUCCESS
mvn --no-transfer-progress -pl storage-api -am clean verify
-Dspotless.check.skip=true
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0
BUILD SUCCESS
mvn --no-transfer-progress -pl storage-api -am javadoc:javadoc
BUILD SUCCESS
```
The workflow's own path filter includes `.github/workflows/java-sdk.yml`, so
it
also runs on this pull request.
### Are there any user-facing changes?
No. CI only.
Note: no module in the selected reactor declares the JaCoCo plugin yet, so
this
workflow uploads no coverage report. Adding JaCoCo per module is left to the
PRs that introduce those modules.
## Checklist
- [x] I have performed a self-review of my own code.
- [ ] I have formatted my own code using `make cpplint` before submitting
when changed files are in the `cpp` directory.
- [x] I have performed `pre-commit run` before commit the changed files.
- [x] I have added tests to prove my changes are effective.
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]