-
Notifications
You must be signed in to change notification settings - Fork 278
Description
Hello,
I'm writing this message to raise awareness of a current situation with regard to our CI configuration and our build processes.
We're currently lacking CI checks for systems based on Apple Silicon (M1, M2, M3, etc). This has caused a number of PRs being merged recently that while good on other platforms (i.e. passing all our existing checks) were failing on Apple Silicon devices, causing our develop
branch on
the platform to fail.
The consequences of that have been thus far variable, ranging from minor nuisance to build-breaking bugs that failed on distributor's CI pipelines such as Homebrew's.
The reason for the current situation, from a historical standpoint has been twofold:
- Low market penetration/perceived importance of the Apple Silicon platform
- Lack of available CI runners on Github Actions.
Both of these situations have changed as of late:
- Market penetration of Apple Silicon is increasing steadily, both globally
and among our users/developers. - Github has recently released Apple Silicon-based runners
Unfortunately, Github has only released the runners as part of the so called "large" runners, which require additional payment (normal runners are free for open source projects like CBMC), which requires us to do a cost-analysis (as they are charged on a per-minute of runtime basis) before we can activate them, with any decision unable to be made before we get there.
As a temporary remedy, and in-lack of a CI array for the platform, we would strongly recommend that all PRs should have a note if they have been tested on an Apple Silicon-based device. If there is no test on Apple Silicon then the PR should not be merged. You can ping @NlightNFotis and @esteffin who can test on Apple silicon if you do not have the resources yourself.