alphaville / optimization-engine

Nonconvex embedded optimization: code generation for fast real-time optimization + ROS support
https://alphaville.github.io/optimization-engine/
Other
499 stars 53 forks source link

Add ARM MacOS support for Python Bindings #351

Closed Creelman closed 1 month ago

Creelman commented 2 months ago

Main Changes

Updates the Python direct interface .cargo/config template file to work with ARM-based Macs.

Fix based on PyO3 docs here

Associated Issues

TODOs

Other

Tested on M2 Max Macbook Pro

Creelman commented 2 months ago

@alphaville AFAICT that MacOS job will never run - as part of this PR will I update the CI definition to use macos-latest? If it's preferable to stick to a constant version, macos-14 is the latest version

Looks like macos-11 runner got deactivated in June. I'm surprised it doesn't give a proper error, seems to match the behaviour described here when Ubuntu got updated a while back.

alphaville commented 2 months ago

@alphaville AFAICT that MacOS job will never run - as part of this PR will I update the CI definition to use macos-latest? If it's preferable to stick to a constant version, macos-14 is the latest version

Looks like macos-11 runner got deactivated in June. I'm surprised it doesn't give a proper error, seems to match the behaviour described here when Ubuntu got updated a while back.

@Creelman yes, I realised and created an issue (see #352). Can you please change it to macos-latest?

Creelman commented 2 months ago

Should be ready to try a build again

Creelman commented 1 month ago

Had to make a few more changes to support the new MacOS runner

IIUC the documentation failure is because I'm testing in a fork, and should succeed on a rerun of the CI pipeline here.

Apologies for adding quite a few commits for a relatively small change - I couldn't replicate the issue locally.

alphaville commented 1 month ago

@Creelman many thanks for all the good work! I'll merge this now and I'll create a new version afterwards.