镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

Test the darwin/aarch64 native library before publishing - #143

Merged
yawkat merged 2 commits into
mainfrom
fix/issue-119
Sep 25, 2026
Merged

yawkat merged 2 commits into
mainfrom
fix/issue-119

Conversation

@yawkat

@yawkat yawkat commented Sep 25, 2026

Copy link
Copy Markdown
Owner

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 ran process-resources with -DskipTests.

  • There is no JDK 7 for arm64 macOS, so this entry passes -Dmaven.compiler.source=8 -Dmaven.compiler.target=8, the same approach test.yml uses for ubuntu-24.04-arm. Only the dylib from this job is published.
  • Zulu 7 is only set up on the Intel entry.
  • LZ4FrameIOStreamTest needs the lz4 CLI on CI, so the job installs it with brew if it's missing.
  • The fullbuild switch is gone, because both macOS entries now do a full build.

Architecture check in assemble: a new step runs file on 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 both file 5.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-14 leg to test.yml would catch macOS-only failures before release time.

⚠️ This workflow doesn't run on PRs. Validate it with a workflow_dispatch run with publish=false before merging.

🤖 Generated with Claude Code

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 yawkat added this to the 1.11.4 milestone Sep 25, 2026
@yawkat
yawkat enabled auto-merge (squash) September 25, 2026 16:05
# Conflicts:
#	.github/workflows/build-all-and-publish.yml
@yawkat
yawkat merged commit 5442f0e into main Sep 25, 2026
3 checks passed
@yawkat
yawkat deleted the fix/issue-119 branch September 25, 2026 17:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Test the darwin/aarch64 native library before publishing

1 participant