Skip to content

Commit

Permalink
Merge pull request #1652 from rmartin16/ci-macos-arm64
Browse files Browse the repository at this point in the history
Add arm64 macOS testing to CI
  • Loading branch information
freakboy3742 committed Feb 18, 2024
2 parents 2e81d10 + 65670bb commit d7525d4
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 21 deletions.
47 changes: 31 additions & 16 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ on:

# Cancel active CI runs for a PR before starting another run
concurrency:
group: ${{ github.ref }}
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

defaults:
Expand Down Expand Up @@ -40,18 +40,31 @@ jobs:
unit-tests:
name: Unit tests
needs: [ pre-commit, towncrier, package ]
runs-on: ${{ matrix.platform }}-latest
runs-on: ${{ matrix.platform }}
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
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" ]
python-version: [ "3.8", "3.12", "3.13-dev" ]
include:
- experimental: false
# Allow dev Python to fail without failing entire job
- python-version: "3.13-dev"
experimental: true
- experimental: false
- platform: "ubuntu-latest"
python-version: "3.9"
experimental: false
- platform: "ubuntu-latest"
python-version: "3.10"
experimental: false
- platform: "ubuntu-latest"
python-version: "3.11"
experimental: false
# Allow dev Python to fail without failing entire job
- python-version: "3.13-dev"
experimental: true
exclude:
# macos-14 (i.e. arm64) does not support Python 3.8
- platform: "macos-14"
python-version: "3.8"
steps:
- name: Checkout
uses: actions/checkout@v4.1.1
Expand All @@ -78,9 +91,11 @@ jobs:
- name: Test
id: test
env:
COVERAGE_FILE: ".coverage.${{ matrix.platform }}.${{ matrix.python-version }}"
run: tox -e py --installpkg dist/briefcase-*.whl
run: |
RUNNER_OS=$(cut -d- -f1 <<< ${{ matrix.platform }})
RUNNER_VERSION=$(cut -d- -f2 <<< ${{ matrix.platform }})
COVERAGE_FILE=".coverage.${RUNNER_OS}.${RUNNER_VERSION}.${{ matrix.python-version }}" \
tox -e py --installpkg dist/briefcase-*.whl
- name: Store Coverage Data
if: always() && contains('success,failure', steps.test.outcome)
Expand Down Expand Up @@ -129,9 +144,9 @@ jobs:

- name: Platform Coverage Reports
id: platform-coverage
run: >
tox p --parallel-no-spinner -qe
coverage-ci-platform-linux,coverage-ci-platform-macos,coverage-ci-platform-windows
run: |
tox --parallel-no-spinner -qe \
coverage-ci-platform-linux,coverage-ci-platform-macos,coverage-ci-platform-windows
- name: Project Coverage Report
id: project-coverage
Expand All @@ -156,7 +171,7 @@ jobs:
fail-fast: false
matrix:
framework: [ "toga", "pyside6", "ppb", "pygame" ]
runner-os: [ "macos-latest", "ubuntu-22.04", "windows-latest" ]
runner-os: [ "macos-12", "macos-14", "ubuntu-22.04", "windows-latest" ]

verify-apps:
name: Build app
Expand All @@ -175,4 +190,4 @@ jobs:
fail-fast: false
matrix:
framework: [ "toga", "pyside6", "ppb", "pygame" ]
runner-os: [ "macos-latest", "ubuntu-22.04", "windows-latest" ]
runner-os: [ "macos-12", "macos-14", "ubuntu-22.04", "windows-latest" ]
1 change: 1 addition & 0 deletions changes/1652.misc.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
CI now includes testing for macOS arm64.
10 changes: 5 additions & 5 deletions docs/reference/platforms/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -60,21 +60,21 @@ Platform support
+ +--------+-------+-----+--------+-------+-----+--------+-----+-------+
| | x86‑64 | arm64 | x86 | x86‑64 | arm64 | x86 | x86‑64 | arm | arm64 |
+=========+=================+========+=======+=====+========+=======+=====+========+=====+=======+
| Android | |Gradle|_ | |f| | |y| | | |f| | | |v| | |f| | |v| | |v| |
| Android | |Gradle|_ | |f| | |f| | | |f| | | |v| | |f| | |v| | |v| |
+---------+-----------------+--------+-------+-----+--------+-------+-----+--------+-----+-------+
| iOS | |iOS|_ | |f| | |y| | | | | | | | |
| iOS | |iOS|_ | |f| | |f| | | | | | | | |
+---------+-----------------+--------+-------+-----+--------+-------+-----+--------+-----+-------+
| Linux | |AppImage|_ | |v| | |v| | | | | |v| | |v| | |v| | |v| |
+ +-----------------+--------+-------+-----+--------+-------+-----+--------+-----+-------+
| | |Flatpak|_ | | | | | | |v| | |f| | |v| | |v| |
+ +-----------------+--------+-------+-----+--------+-------+-----+--------+-----+-------+
| | |System|_ | |y| | |y| | | | | |v| | |f| | |v| | |v| |
+---------+-----------------+--------+-------+-----+--------+-------+-----+--------+-----+-------+
| macOS | |macOSApp|_ | |f| | |y| | | | | | | | |
| macOS | |macOSApp|_ | |f| | |f| | | | | | | | |
+ +-----------------+--------+-------+-----+--------+-------+-----+--------+-----+-------+
| | |Xcode|_ | |f| | |y| | | | | | | | |
| | |Xcode|_ | |f| | |f| | | | | | | | |
+---------+-----------------+--------+-------+-----+--------+-------+-----+--------+-----+-------+
| Web | |Web|_ | |f| | |y| | |v| | |f| | |v| | |v| | |f| | |v| | |v| |
| Web | |Web|_ | |f| | |f| | |v| | |f| | |v| | |v| | |f| | |v| | |v| |
+---------+-----------------+--------+-------+-----+--------+-------+-----+--------+-----+-------+
| Windows | |WindowsApp|_ | | | | |f| | | | | | |
+ +-----------------+--------+-------+-----+--------+-------+-----+--------+-----+-------+
Expand Down

0 comments on commit d7525d4

Please sign in to comment.