-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Run CI on macOS #510
base: master
Are you sure you want to change the base?
Run CI on macOS #510
Conversation
We had macOS, but the github runners take way to long to run - like hours and hours. So we decided to disable them. So we will probably not take this commit PR, sorry. |
No worries; I've had to make that same call on other repos for macOS building. FWIW these builds only took 15min, but if there was queue contention, I could see it taking much longer. I'm not offended at all if you close this. |
On the latest push, builds for macOS are actually faster than the other ones now: https://github.com/iffy/pixie/actions/runs/3265723604/usage Though of course there's still possible queue contention for macOS so the start time might be delayed. Anyway, I'm done fiddling with this, I promise 😄 I'll stop making changes. |
We turned macos-latest back on for Puppy and unfortunately it's been extremely slow still (10+minutes to even start sometimes). It makes me not eager to turn this back on for more repos without a specific reason. Puppy uses platform code on so macos-latest makes sense, Pixie does not. |
@guzba I see the 10+ minute start time that you're referring to here: https://github.com/treeform/puppy/actions/runs/3935567309/jobs/6734919372 If you look at this PR, rather than using choosenim (via jiro4989/setup-nim-action) to install on macOS which takes 10+ minutes, this PR installs official precompiled binaries (via iffy/install-nim) which takes a few seconds. The reason I even considered adding macOS building to Pixie is because of this macOS-specific issue: #506 |
Have you tried installing using Homebrew? I found it to behave as expected and during my testing workflow runs it installs nim (v2.0.0) in just about 5s on In my specific case, is also appreciably faster than other runners. Installing (1) nim, (2) Arraymancer and wimpy (through nimble), (3) compiling my code, and (4) running all tests takes under 60s. To be a bit more quantitative:
There is no magic involved. Here is the job from my workflow YAML file: test-M1:
runs-on: macos-14
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install Nim with Homebrew
run: brew install nim
- name: Install dependencies
run: nimble install -y arraymancer nimpy
- name: Compile nimplex
run: nim c -d:release nimplex.nim
- name: Run grid tests
run: nim c -r -d:release tests/runAll.nim I hope it helps :) |
If you want to, this will run the tests on macOS, too. If you don't want this that's fine, too -- just close it.