Add arm64 macOS testing to CI#1652
Conversation
21dd6aa to
fbd604a
Compare
fbd604a to
aa569b6
Compare
|
I also added arm64 macOS to the integration tests. With the couple of times I ran the full set of jobs, it is clear that GitHub is limiting the number of concurrent runners a repo/org can use beyond what they limit for the Linux runners. That said, the Linux jobs still take long enough that even the macOS jobs that have to wait end up finishing before or around the same time. It's also interesting how long the unit tests run for 3.13-dev on Windows...they must be using a debug build of Python or something. P.S. as a mental note....the biggest opportunity for speeding up the integration tests on Linux is the Docker builds. First, since the linux package from Briefcase is installed, it may be possible to alternatively just ask the installer to do a dry-run and not actually install everything. Second, caching the Briefcase images in GHCR. |
freakboy3742
left a comment
There was a problem hiding this comment.
The mechanics of this all look good. One comment about value quoting inline; the other detail is that the platform support chart can upgrade the support level for ARM64.
.github/workflows/ci.yml
Outdated
| matrix: | ||
| platform: [ "macos", "ubuntu", "windows" ] | ||
| python-version: [ "3.8", "3.9", "3.10", "3.11", "3.12", "3.13-dev" ] | ||
| platform: [ macos-12, macos-14, windows-latest, ubuntu-latest ] |
There was a problem hiding this comment.
I'm not sure removing the quotes here (and below) is a good idea. YAML has an... interesting relationship with bare values; I've found it safer to unilaterally quote when you know the value is a string, even if it isn't strictly necessary (and it clearly isn't here, because CI is passing).
There was a problem hiding this comment.
This is definitely the thing I hate most about YAML....other than everything else. To add to this, I've also wondered how the GitHub substitutions are handled, i.e. ${{ xxx }}, and whether any of these substitutions happen before a YAML processor runs...
Changes
PR Checklist: