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

CI: add GitHub Actions check for Apple Silicon (M1) build #116

Closed
1 task done
678098 opened this issue Sep 19, 2023 · 13 comments
Closed
1 task done

CI: add GitHub Actions check for Apple Silicon (M1) build #116

678098 opened this issue Sep 19, 2023 · 13 comments
Assignees
Labels
A-Build Area: Build System good first issue Good for newcomers

Comments

@678098
Copy link
Collaborator

678098 commented Sep 19, 2023

Is there an existing proposal for this?

  • I have searched the existing proposals

Is your feature request related to a problem?

We don't have automatic checks for M1/M2 builds.

Describe the solution you'd like

According to this roadmap, Apple Silicon (M1) is in public beta in GitHub Actions:

github/roadmap#528

Might be possible to use the corresponding runner to check darwin build script automatically.

Alternatives you considered

No response

@678098 678098 added good first issue Good for newcomers A-Build Area: Build System labels Sep 19, 2023
@Sudo-Guy
Copy link

I can pick this up. Just to clarify we want to take advantage of the M1 runners to see if blazingmq builds via the darwin build script successfully?

@678098
Copy link
Collaborator Author

678098 commented Nov 15, 2023

I can pick this up. Just to clarify we want to take advantage of the M1 runners to see if blazingmq builds via the darwin build script successfully?

Hi @Sudo-Guy! That is correct, need to implement a check for the darwin build script using M1 or M2 (if available) GitHub Runner.
Will assign it to you then. Thanks!

@678098
Copy link
Collaborator Author

678098 commented Dec 7, 2023

Hi @Sudo-Guy! Do you plan working on this?

@Sudo-Guy
Copy link

Sudo-Guy commented Dec 11, 2023

I'll get around to it this weekend. A minor issue is that I need access to an ARM Mac machine right now, and free runners are unavailable.

@678098
Copy link
Collaborator Author

678098 commented Dec 11, 2023

Thanks for the latest info @Sudo-Guy. Yes, indeed, they opened larger runners only, which are not free, on the 2nd of October, after this issue was opened.
https://github.blog/2023-10-02-introducing-the-new-apple-silicon-powered-m1-macos-larger-runner-for-github-actions/
Don't know if we want to pause this task then. Will discuss it on our side and return.

@678098
Copy link
Collaborator Author

678098 commented Dec 12, 2023

@Sudo-Guy it seems that it's not possible to use free M1/M2 runners right now.
actions/runner-images#8439 (comment)

We discussed it and decided to wait until/if free Darwin runners are available.
In the meantime, we think it's still a good idea to check if build is okay on amd64 intel MacOS.

Could you add this workflow? macos-latest runner should work for now

@Sudo-Guy
Copy link

Sure, sounds good.

@kgantchev
Copy link

...if free Darwin runners are available.

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

@678098
Copy link
Collaborator Author

678098 commented Jan 16, 2024

Hi @kgantchev! Thank you for the suggestion. The proposed option is great for small open source projects. However, we have many developers who actively make changes in the repo.

Some calculations. The free quota is 500 min, consider M1/M2 runner time 20 min for each CI launch. With these assumptions, the quota will be exceeded after ~25 CI launches.

This means:

  • On PR checks - exceed the quota, because we have >25 PR updates per month.
  • Daily main branch checks - exceed the quota, because 25 is less than a number of days in month.
  • Weekly main branch checks - fit the quota.

In conclusion, weekly checks could be performed, which could be good enough for us. I will discuss it with the team.

@678098
Copy link
Collaborator Author

678098 commented Jan 31, 2024

GitHub Actions: Introducing the new M1 macOS runner available to open source!

https://github.blog/changelog/2024-01-30-github-actions-introducing-the-new-m1-macos-runner-available-to-open-source/

@678098 678098 assigned syuzvinsky and unassigned Sudo-Guy Jan 31, 2024
@678098
Copy link
Collaborator Author

678098 commented Jan 31, 2024

Hi @syuzvinsky, could you do this when you have time?

@pniedzielski
Copy link
Collaborator

For reference, this is how memray has done it.

@678098 678098 assigned 678098 and unassigned syuzvinsky Feb 26, 2024
@678098
Copy link
Collaborator Author

678098 commented Feb 26, 2024

#205

@678098 678098 closed this as completed Feb 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Build Area: Build System good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

5 participants