Skip to content
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

Test on macOS M1 #2470

Closed
dbwiddis opened this issue Oct 8, 2023 · 6 comments · Fixed by #2567
Closed

Test on macOS M1 #2470

dbwiddis opened this issue Oct 8, 2023 · 6 comments · Fixed by #2567

Comments

@dbwiddis
Copy link
Member

dbwiddis commented Oct 8, 2023

While looking into macOS 13 runner capabilities mentioned in #2428 (comment) I see that M1 runners are available. We should add at least one run on this arch.

actions/runner-images#8439

    strategy:
      fail-fast: false
      matrix:
        include:
          - target: 'x86_64-apple-darwin'
            os: macos-latest
          - target: 'aarch64-apple-darwin'
            os: macos-latest
@dbwiddis
Copy link
Member Author

dbwiddis commented Oct 8, 2023

Ignore the above, the target was for something else.

All the M1 runners are for paid customers, not free. :-(

@dbwiddis dbwiddis closed this as completed Oct 8, 2023
@radeva
Copy link

radeva commented Jan 18, 2024

All the M1 runners are for paid customers, not free

@dbwiddis You can try FlyCI's M1 and M2 runners. They are on average 2x faster and 2x cheaper than GitHub's AND we have a free tier for OSS projects (see below).

Install Instructions

  1. Install FlyCI app and
  2. Easily replace one line of code and start using FlyCI runners:
jobs:
 ci:
-    runs-on: macos-latest
+    runs-on: flyci-macos-large-latest-m1
   steps:
   - name: 👀 Checkout repo
     uses: actions/checkout@v4

500 mins/month Free for Public Repos

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

Don't hesitate to contact us in case the free tier doesn't suit your needs or you experience any issues with the runners. Our team is here to support you!

Best Regards,
Veselina Radeva
Product Manager at FlyCI

@dbwiddis
Copy link
Member Author

Thanks for the heads up! Added!

https://github.com/oshi/oshi/actions/runs/7580221059/job/20645691634

Some differences from metal M1:

  • no P- or E- cores, just virtual cores
  • no SMC Error: 1-19 06:21:01.475 [ERROR] SmcUtil - Unable to locate AppleSMC service. Doesn't really impact anything as its only use is sensors don't work anyway, but gives a log message.

@kgantchev
Copy link

kgantchev commented Jan 19, 2024

HI @dbwiddis,

no P- or E- cores, just virtual cores

Yes, each workflow runs in a clean VM. This is done for both security reasons and for economic reasons, i.e. to give you the ability to have 1/2 a Mac Mini without incurring the cost of a full one 😄.

A bit more technical details: this is handled by Apple’s Virtualization Framework

no SMC Error: 1-19 06:21:01.475 [ERROR] SmcUtil - Unable to locate AppleSMC service. Doesn't really impact anything as its only use is sensors don't work anyway, but gives a log message.

Same for AppleSMC. The Apple SMC is involved in controlling several low-level functions of the computer, including power management, thermal management, and system hardware interfacing. In a standard physical Mac, the SMC is a physical component.

However, in a virtualized environment, hardware components like the SMC are not directly exposed to the virtualized operating system. Instead, the virtualization software simulates or abstracts most hardware components, and it's common that specific, proprietary components like Apple's SMC are not simulated in the VM environment. Here is more info on the topic.

Please let us know if you run into any issues.

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

@dbwiddis
Copy link
Member Author

@radeva @kgantchev thanks for the details and thanks for providing this service!

@kgantchev
Copy link

Thank you for using FlyCI! 💯

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants