libprima / prima

PRIMA is a package for solving general nonlinear optimization problems without using derivatives. It provides the reference implementation for Powell's derivative-free optimization methods, i.e., COBYLA, UOBYQA, NEWUOA, BOBYQA, and LINCOA. PRIMA means Reference Implementation for Powell's methods with Modernization and Amelioration, P for Powell.
http://libprima.net
BSD 3-Clause "New" or "Revised" License
290 stars 35 forks source link

Why the versions of OS and gcc in build_python.yml are old? #199

Closed zaikunzhang closed 2 months ago

zaikunzhang commented 2 months ago

Hi @nbelakovski ,

Is it intended that we use older versions of OS (instead of latest) and gcc 8 (for macOS, very old) in

https://github.com/libprima/prima/blob/main/.github/workflows/build_python.yml

In addition, we need to cover macOS ARM64, currently available under GitHub Actions with macos-14 runners.

Thank you.

Zaikun

nbelakovski commented 2 months ago

Some of the code there was copied from https://github.com/scipy/scipy/blob/main/.github/workflows/wheels.yml, particularly the rtools part, which installed gcc8, and hence why I used gcc8 elsewhere.

As for the OS versions, it looks like I copied from the cibuildwheels docs, specifically this one, which currently uses -latest for Windows/Linux and more recent versions for MacOS, but a couple months ago, when I wrote this file, it was showing the older versions, so I decided to just copy in case it wasn't yet working on that latest builds.

If the versions can be safely updated I see no reason why not.

zaikunzhang commented 2 months ago

Hi @nbelakovski ,

Wheels are built on newer OS with newer gcc now using the new yml and the following changes:

c44deb8..7a49bb6b (compare)

I hope this is fine with you.

However, Python wheel testing fails on macOS 14 (ARM64). See

https://github.com/libprima/prima/issues/201

Thanks.

Zaikun