Repository navigation
Conversation
Runs `mvn -B -U test` on ubuntu-latest, macos-latest and windows-latest with Java 8 and 21 (Zulu, which has Java 8 for macOS arm64), uploading the surefire reports and any hs_err_pid*.log on failure. To make the build resolvable and testable outside a single machine: - Replace the oss.sonatype.org snapshot repository, which is shut down, with the Central Portal snapshot repository that now hosts the org.bytedeco snapshots (and drop the unused snapshot plugin repository). - Add OS/arch-activated profiles that put the build platform's org.bytedeco:hdf5 natives on the test classpath; the regular natives dependency is fixed to macosx-arm64. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
On Windows the org.bytedeco:hdf5 preset links HDF5 statically into jnihdf5.dll, so it and hdf.hdf5lib's hdf5_java.dll (which uses hdf5.dll) run two separate HDF5 libraries that don't share IDs; 306 of 348 tests fail there. Keep the jobs for visibility until the preset is fixed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #9. Adds CI; until now the repository had none, so nothing in #1–#9 had been tested outside one macOS arm64 machine.
Workflow
.github/workflows/build.ymlrunsmvn -B -U teston every pull request (any base branch), on pushes tomain, and on demand:fail-fast: false, so one platform failing doesn't hide the others.hs_err_pid*.logcrash dumps are uploaded as artifacts.pom.xml changes needed for CI
oss.sonatype.orgsnapshots is shut down. Theorg.bytedecosnapshots (includinghdf5:2.2.0-1.5.15-SNAPSHOT) now live athttps://central.sonatype.com/repository/maven-snapshots/. I also dropped the unused snapshot plugin repository.org.bytedeco:hdf5natives dependency is fixed tomacosx-arm64. New OS/arch-activated profiles add the build platform's natives jar in test scope (linux-x86_64,linux-arm64,macosx-x86_64,windows-x86_64). What consumers of the artifact get is unchanged.ciManagementnow points at GitHub Actions.Checked locally with an empty
-Dmaven.repo.local, so everything came from the remote repositories as on a CI runner: 348/348 tests pass against the published snapshot.First results
continue-on-errorso they stay visible without failing the workflow.Why Windows fails. On Windows, the
org.bytedeco:hdf5preset links HDF5 statically intojnihdf5.dll:link = {"zlibstatic", "libhdf5", ...}, and with HDF5's CMake buildlibhdf5.libis the static library, whilehdf5.libis the DLL's import library.hdf.hdf5lib'shdf5_java.dlluseshdf5.dll. So every Windows process has two independent HDF5 libraries. The property list created byH5.H5Pcreateis unknown to the bytedeco copy, so the firstH5Pset_type_conv_cbfails (with an empty error stack, because we read the other copy's stack). On macOS and Linux both bindings share onelibhdf5, which is why only Windows fails.Fix this in javacpp-presets by linking the import libraries (
hdf5,hdf5_cpp,hdf5_hl,hdf5_hl_cpp) on Windows, then dropcontinue-on-error. A few Windows-only test failures (uid/gid names, the jMock-basedDirectoryIndexUpdaterTest) may remain after that.Not addressed here
macosx-arm64natives, so downstream users on other platforms get no native HDF5. Probably worth fixing separately, for example withhdf5-platformor by leaving the natives choice to consumers.🤖 Generated with Claude Code