Repository navigation
Test the darwin/aarch64 native library before publishing - #143
Merged
Merged
Conversation
Run the full mvn verify on the macos-14 (darwin/aarch64) runner instead of only process-resources, so the shipped dylib is actually loaded and tested. Zulu 7 is not available there, so compile with source/target 8 like the ubuntu-24.04-arm job in test.yml; only the dylib from this job is published. Install the lz4 CLI on macOS if missing, as LZ4FrameIOStreamTest requires it in CI. Also check in the assemble job that every collected native library exists and has the architecture matching its directory. Fixes #119 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
yawkat
enabled auto-merge (squash)
September 25, 2026 16:05
# Conflicts: # .github/workflows/build-all-and-publish.yml
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.
Fixes #119.
macos-14 (darwin/aarch64): this job now runs a full
verify, so the published dylib is loaded by the test suite before release. Before, it only ranprocess-resourceswith-DskipTests.-Dmaven.compiler.source=8 -Dmaven.compiler.target=8, the same approachtest.ymluses forubuntu-24.04-arm. Only the dylib from this job is published.LZ4FrameIOStreamTestneeds the lz4 CLI on CI, so the job installs it with brew if it's missing.fullbuildswitch is gone, because both macOS entries now do a full build.Architecture check in
assemble: a new step runsfileon all nine native libraries and fails if one is missing, has the wrong architecture or bitness, or appears in an unexpected directory. The patterns accept the wording of bothfile5.45 (ubuntu-latest) and 5.46+. The check was run against the natives in the published 1.11.2 jar, and against a deliberately broken layout.Not covered here: the Linux cross-compiled libraries are still not loaded by a JVM; only their architecture is checked. Adding a
macos-14leg totest.ymlwould catch macOS-only failures before release time.workflow_dispatchrun withpublish=falsebefore merging.🤖 Generated with Claude Code