feat: add macOS native library support#19
Conversation
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Coverage variation | ✅ +0.00% coverage variation (-1.00%) |
| Diff coverage | ✅ ∅ diff coverage |
Coverage variation details
Coverable lines Covered lines Coverage Common ancestor commit (b967aaa) 1672 1532 91.63% Head commit (ba910d4) 1672 (+0) 1532 (+0) 91.63% (+0.00%) Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch:
<coverage of head commit> - <coverage of common ancestor commit>
Diff coverage details
Coverable lines Covered lines Diff coverage Pull request (#19) 0 0 ∅ (not applicable) Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified:
<covered lines added or modified>/<coverable lines added or modified> * 100%
AI Reviewer: first review requested successfully. AI can make mistakes. Always validate suggestions.
TIP This summary will be updated as you push new changes.
01c1dbe to
f9d27eb
Compare
There was a problem hiding this comment.
Pull Request Overview
The PR successfully introduces the necessary infrastructure and documentation for macOS native library support on both Intel and Apple Silicon architectures. Codacy quality checks indicate the code is up to standards. However, there are blocking issues in the CI/CD configuration: the use of non-standard runner labels (macos-15-intel) will prevent the workflows from executing in standard GitHub-hosted environments.
Furthermore, there is a functional discrepancy: the PR description discusses native loader mapping, but the submitted diff contains no changes to Java source files. This suggests that either the implementation is incomplete or the current loader logic's ability to handle the new directory structure has not been verified within this changeset. Finally, the CHANGELOG entries are incorrectly ordered, which should be corrected to ensure accurate release documentation.
About this PR
- The PR lacks Java code changes for native loader mapping despite the description mentioning it. Please confirm if the existing loader logic automatically supports the new
native/macos-<arch>/directory structure or if the loader changes were accidentally omitted from this commit.
Test suggestions
- Compile pbivnorm.f into a dynamic library on macOS Intel using static linking
- Compile pbivnorm.f into a dynamic library on macOS ARM64 using static linking
- Verify the absence of Homebrew dynamic links in the compiled dylib using otool
- Execute BivariateNormalTest on macOS runners to verify native code execution
- Verify that the produced JAR contains the dylibs at the expected native/macos-/ paths
Low confidence findings
- Ensure that any local untracked files, such as
src/test/java/main.java, are removed to prevent unexpected compilation failures in the build environment.
TIP Improve review quality by adding custom instructions
TIP How was this review? Give us feedback
f9d27eb to
21fee33
Compare
21fee33 to
ba910d4
Compare
Summary
Add native
pbivnormsupport for macOS Intel (x86_64) and Apple Silicon (aarch64).The release workflow now builds, validates, and packages macOS
.dylibfiles alongside Linux; CI adds native smoke tests on both macOS architectures. Documentation and native licensing notes now cover the supported platforms.Validation
macOS/Darwin, Intel, and ARM64.git diff --check.macos-15-intelandmacos-14runners after push../mvnw verifylocally because untrackedsrc/test/java/main.javacurrently contains invalid Java and would break test compilation.Checklist