AcademySoftwareFoundation / OpenColorIO

A color management framework for visual effects and animation.
https://opencolorio.org
BSD 3-Clause "New" or "Revised" License
1.78k stars 452 forks source link

Add a GitHub Action to use the Mac ARM runners #1922

Closed doug-walker closed 8 months ago

doug-walker commented 9 months ago

Our macOS CI runners are Intel (x86_64) based, so we're missing coverage for the ARM-based chips. These are now available via GitHub Actions.

OpenImageIO has got this set up on their project:

https://github.com/AcademySoftwareFoundation/OpenImageIO/blob/master/.github/workflows/macarm.yml

They set it up as a separate Action rather than doing it as part of their CI. We should probably follow their lead.

lgritz commented 9 months ago

The reason OIIO set it up as a separate action is to carefully control how often it's run. It's expensive enough that I was worried about blowing ASWF's GitHub budget if it runs on every push or PR. So I rigged it to only run on tags, releases, and PRs from branches whose name specifically indicates that we want to test on Mac ARM.

kgantchev commented 8 months ago

I noticed that you've already added a CI workflow for MacOS arm, but might I make a suggestion? Feel free to use FlyCI's M1 and M2 runners. Our runners are on average 2x faster and 2x cheaper than GitHub's AND we have a free tier for OSS projects (see below).

Install Instructrions

Easily replace your M1 runners:

jobs:
 ci:
-    runs-on: macos-latest
+    runs-on: flyci-macos-large-latest-m1
   steps:
   - name: 👀 Checkout repo
     uses: actions/checkout@v4

Or try the M2 runners:

jobs:
  ci:
-    runs-on: macos-latest
+    runs-on: flyci-macos-large-latest-m2
    steps:
      - name: 👀 Checkout repo
        uses: actions/checkout@v4

Pricing

Processor vCPU RAM (GB) Storage Label Price on FlyCI Price on GitHub
M1 4 7 28 GB flyci-macos-large-latest-m1 $0.06 -
M1 8 14 28 GB flyci-macos-xlarge-latest-m1 $0.12 $0.16
M2 4 7 28 GB flyci-macos-large-latest-m2 $0.08 -
M2 8 14 28 GB flyci-macos-xlarge-latest-m2 $0.16 -

500 mins/month Free for Public Repos

If your repo is public, then FlyCI offers 500 mins/month of free M1 runner usage with the flyci-macos-large-latest-m1 runner.

Best Regards, Kiril Gantchev CEO and co-founder of FlyCI