mkleehammer / pyodbc

Python ODBC bridge
https://github.com/mkleehammer/pyodbc/wiki
MIT No Attribution
2.88k stars 561 forks source link

Use M1 runner for macOS arm64 wheels #1323

Closed keitherskine closed 4 months ago

keitherskine commented 4 months ago

Now that GitHub has made an ARM64 runner available - hurrah! - let's use it to create the problematic macOS ARM64 wheels.

In the GitHub Action artifacts script, I have separated out the builds for each platform into discrete jobs. They are all slightly different and it seems sensible to have a specific job for each platform.

We were getting a bunch of deprecation warnings about old versions of node, so I have updated the versions of actions/setup-python from v4 to v5, actions/upload-artifact from v3 to v4, and github/codeql-action from v2 to v3. I have also taken the opportunity to pin various actions to specific minor versions so we know exactly what is being run.

Lastly, I have swapped around the Appveyor builds so that Python 3.12 is done first and Python 3.8 is done last. On the free plan, Appveyor jobs are sequential (and slow), and typically it's the Python 3.12 build we are most interested in, so do it first.

keitherskine commented 4 months ago

You can see examples of the wheels that are generated here: https://github.com/keitherskine/pyodbc/actions/runs/7775109101 (they can't be built in the main mkleehammer pyodbc repo until this PR is merged into master)

This should hopefully fix #1124 .

keitherskine commented 4 months ago

I have tested the arm64 wheel on an M1 Macbook Pro. If anybody can test it on an M3 that would be appreciated.

mkleehammer commented 4 months ago

This is amazing @keitherskine . I was looking into this as soon as I got the email from Github about the new runners, but you are way ahead of me, as usual.