Skip to content

feat: add macOS native library support#19

Merged
iamchorchos merged 1 commit into
mainfrom
feat/javafx-volatility-surface
Jul 23, 2026
Merged

feat: add macOS native library support#19
iamchorchos merged 1 commit into
mainfrom
feat/javafx-volatility-surface

Conversation

@iamchorchos

Copy link
Copy Markdown
Owner

Summary

Add native pbivnorm support for macOS Intel (x86_64) and Apple Silicon (aarch64).

The release workflow now builds, validates, and packages macOS .dylib files alongside Linux; CI adds native smoke tests on both macOS architectures. Documentation and native licensing notes now cover the supported platforms.

Validation

  • Reviewed the native loader mapping for macOS/Darwin, Intel, and ARM64.
  • Ran git diff --check.
  • Verified workflow expressions and artifact handoff paths manually.
  • macOS smoke tests will run on GitHub-hosted macos-15-intel and macos-14 runners after push.
  • Did not run ./mvnw verify locally because untracked src/test/java/main.java currently contains invalid Java and would break test compilation.

Checklist

  • I kept the pull request focused and reviewed my own diff.
  • I ran `./mvnw verify'.
  • I added or updated tests for changed behavior.
  • I updated public documentation when required.
  • I documented the source and tolerance of new numerical reference data. Not applicable.
  • I verified that new code, data and dependencies have compatible licenses.
  • I did not commit secrets, generated build output or local configuration.

@codacy-production

codacy-production Bot commented Jul 23, 2026

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Coverage ∅ diff coverage · +0.00% coverage variation

Metric Results
Coverage variation +0.00% coverage variation (-1.00%)
Diff coverage diff coverage

View coverage diff in Codacy

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.

Run reviewer

TIP This summary will be updated as you push new changes.

@iamchorchos
iamchorchos force-pushed the feat/javafx-volatility-surface branch 2 times, most recently from 01c1dbe to f9d27eb Compare July 23, 2026 16:19

@codacy-production codacy-production Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Comment thread .github/workflows/release.yml Outdated
Comment thread .github/workflows/ci.yml Outdated
Comment thread CHANGELOG.md Outdated
Comment thread .github/workflows/release.yml
@iamchorchos
iamchorchos force-pushed the feat/javafx-volatility-surface branch from f9d27eb to 21fee33 Compare July 23, 2026 16:22
@iamchorchos
iamchorchos force-pushed the feat/javafx-volatility-surface branch from 21fee33 to ba910d4 Compare July 23, 2026 16:23
@iamchorchos
iamchorchos merged commit c2f9b47 into main Jul 23, 2026
6 of 7 checks passed
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.

1 participant