-
Notifications
You must be signed in to change notification settings - Fork 654
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
Add Apple Silicon Build #969
Conversation
0e91980
to
0080db0
Compare
0080db0
to
cda9f33
Compare
My only concern with this: It seems to take ages for the CI to acquire runners for Apple silicon. Dunno how to find out once CI/CD has finished, but on your initial run it took roughly half a day to get runner for the new targets. I kinda fear that this could heavily increase CI/CD for all PRs. Is there a way to improve this? |
Completely agree @SaschaWillems. This is also my concern. Im thinking that we should run the |
d7bef0d
d7bef0d
to
10303d8
Compare
That sounds like a good idea. I also don't think we need to run four different MacOS builds, like the initial PR did. |
One is Macos amd64 and the other is Macos arm64. Theres still some value there until On this PR we can see this job is now skipped https://github.com/KhronosGroup/Vulkan-Samples/actions/runs/8239111840?pr=969 On the main of my fork we can see it runs the apple silicon job https://github.com/tomadamatkinson/Vulkan-Samples/actions/runs/8239110561 Should this PR tackle getting rid of duplicate builds? I dont mind doing that, just trying to keep the scope small |
- uses: actions/checkout@v3 | ||
with: | ||
submodules: "recursive" | ||
- if: ${{ matrix.platform.os == 'ubuntu' }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I get it right, this part is only used with platform = { macos, macos-14 }?
That is, all those matrix.platform.os == 'ubuntu'
or 'windows'
parts should not be needed here?
strategy: | ||
matrix: | ||
platform: [windows, ubuntu, macos] | ||
platform: [{ os: windows, runtime: windows-latest }, { os: ubuntu, runtime: ubuntu-latest }, { os: macos, runtime: macos-12 }] | ||
build_type: [Debug, Release] | ||
env: | ||
PARALLEL: -j 2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe, instead of duplicating most of this file, you could add macos-14 to the matrix and just have a condition here like
if: ${{ github.ref == 'refs/heads/main' || matrix.platform.runtime != 'macos-14' }}
I've been thinking about this. I believe iOS is arm64, could we count the CI for that as evidence that macos-14 should work? There's very little differences between the two from a perspective of what gets built. |
My main dev setup for VulkanSamples related development is M1 Studio + M2 Air which I compile 3 times a week on both systems. I can keep track and responsibility for these kind of issues. The M1 can be setup as PR builder and I could script that it runs and report problems to the PR. I read that I could also set it up as a github runner for this repo specific. Availability would be 16 hours during working days. |
Closing as stale |
Description
Adds an Apple Silicon runner to help reduce the chances of #965. There are some considerations with this approach. macos-14 runners are in beta and so it may take considerable time to acquire a runner. Due to the beta and the possible slow provisioning times this might be more hassle than good.
It can't harm to add the runner on a trial basis. If we run into any significant issues we can comment out the newer runner until it is out of beta later in the year