Skip to content

Add MATLAB MEX CI for set_path / level_solver.cpp #33

@phflot

Description

@phflot

Summary

Add a GitHub Actions workflow that verifies that set_path can compile the MEX target core/level_solver.cpp across supported MATLAB releases and platforms.

This is needed before patching the reported macOS arm64 / R2024b linker issue, so we can distinguish regressions in the toolbox from MATLAB/Xcode compatibility problems.

Proposed workflow

Add a GitHub Actions workflow, for example .github/workflows/matlab-mex.yml, that:

  • checks out the repository
  • installs MATLAB using MathWorks GitHub Actions
  • runs mex -setup C++
  • runs set_path
  • verifies that the expected MEX binary is created or loadable

Initial matrix:

  • MATLAB: R2024b, R2025b
  • OS: ubuntu-latest, windows-latest, macos-26 if available
  • architecture: especially macOS arm64, where possible

Acceptance criteria

  • A MATLAB CI workflow exists and runs on pull requests and pushes.
  • The workflow exercises set_path rather than only MATLAB path setup.
  • The workflow fails if core/level_solver.cpp cannot be compiled.
  • The workflow prints enough diagnostic information to debug failures:
    • MATLAB version
    • computer
    • mexext
    • selected C++ compiler
    • macOS/Xcode version on macOS runners
  • The known problematic R2024b + newer Xcode/macOS configuration is either:
    • reproduced as a failing diagnostic job, or
    • marked explicitly as an expected/allowed failure until the compatibility fallback is implemented.

Follow-up

After this CI issue is complete, add a guarded compatibility fallback in core/make.m for affected MATLAB/Xcode/macOS combinations.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions