Skip to content

Commit

Permalink
apacheGH-41435: [CI][MATLAB] Add job to build and test MATLAB Interfa…
Browse files Browse the repository at this point in the history
…ce on `macos-14` (apache#41592)

### Rationale for this change

Currently, the MATLAB interface is built and tested on `macos-12` - not `macos-14` - because the version of `mathworks/libmexclass` depends on used to not support `macos-14`. However, now that apache#41400 is closed, the version of `mathworks/libmexclass` the MATLAB interface depends on works on `macos-14`, so we will be able to build and test the MATLAB interface on `macos-14`.

**Note**: When adding support for ARM-based macOS builds, we discovered an issue with the way in which we package the MLTBX files for the MATLAB Interface to Arrow.
 
Currently, we bundle all shared libraries for all platforms (.dll, .dylib, and .so) into one large "monolithic" MLTBX file.
 
Unfortunately, putting all platform-specific files into one MLTBX file poses an issue when we support multiple ISAs (e.g. x86 and ARM) because builds for the same operating system with different ISAs will have the same shared library file names. In other words, we will have a library named libarrowproxy.dylib for both ARM and x86 macOS builds.
 
Therefore, we are going to hold off on adding ARM-based macOS builds to the crossbow packaging workflow for now until we have a chance to properly explore alternative packaging approaches. For example, we may want to consider having platform-specific MLTBX files. However, we still think it is worthwhile to add CI support for `macos-14` in the meantime.

### What changes are included in this PR?

1. Added workflow to build and test the MATLAB interface on `macos-14` as well as `macos-12`.

### Are these changes tested?

N/A. 

### Are there any user-facing changes?

No.

### Future Directions

1. Add crossbow packaging workflow on `macos-14` once we determine how to package the interface for both ARM-based and Intel-based mac ISAs.

* GitHub Issue: apache#41435

Authored-by: Sarah Gilmore <[email protected]>
Signed-off-by: Sarah Gilmore <[email protected]>
  • Loading branch information
sgilmore10 authored and vibhatha committed May 25, 2024
1 parent cfac5c7 commit 559fcf0
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions .github/workflows/matlab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,9 +98,16 @@ jobs:
select-by-folder: matlab/test
strict: true
macos:
name: AMD64 macOS 12 MATLAB
runs-on: macos-12
name: ${{ matrix.architecture }} macOS ${{ matrix.macos-version }} MATLAB
runs-on: macos-${{ matrix.macos-version }}
if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
strategy:
matrix:
include:
- architecture: AMD64
macos-version: "12"
- architecture: ARM64
macos-version: "14"
steps:
- name: Check out repository
uses: actions/checkout@v4
Expand Down

0 comments on commit 559fcf0

Please sign in to comment.