diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f0d5f9f91..b8b3372fb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -183,6 +183,11 @@ jobs: os: macos-12 python: "3.12" args: "tests/unit" # Only run unit tests on macOS + ### macOS Sonoma (M1 runner) + - testenv: py312-pyqt67 + os: macos-14 + python: "3.12" + args: "tests/unit" # Only run unit tests on macOS ### Windows - testenv: py312-pyqt67 os: windows-2019 diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index b326c2ad6..5b798d589 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -30,14 +30,20 @@ jobs: name: qt5-windows-debug - os: macos-11 toxenv: build-release - name: macos + name: macos-intel + - os: macos-14 + toxenv: build-release + name: macos-apple-silicon - os: windows-2019 toxenv: build-release name: windows - os: macos-11 args: --debug toxenv: build-release - name: macos-debug + name: macos-debug-intel + - os: macos-14 + toxenv: build-release + name: macos-debug-apple-silicon - os: windows-2019 args: --debug toxenv: build-release diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index aa8b3b2ef..2b278010b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -127,6 +127,7 @@ jobs: matrix: include: - os: macos-11 + - os: macos-14 - os: windows-2019 - os: ubuntu-20.04 runs-on: "${{ matrix.os }}" diff --git a/doc/changelog.asciidoc b/doc/changelog.asciidoc index c63a655c4..dcc8ef562 100644 --- a/doc/changelog.asciidoc +++ b/doc/changelog.asciidoc @@ -15,6 +15,16 @@ breaking changes (such as renamed commands) can happen in minor releases. // `Fixed` for any bug fixes. // `Security` to invite users to upgrade in case of vulnerabilities. +[[v3.3.0]] +v3.3.0 (unreleased) +------------------- + +Added +~~~~~ + +- There is now a separate macOS release built for Apple Silicon. A Universal + Binary might follow with a later release. + [[v3.2.1]] v3.2.1 (unreleased) ------------------- diff --git a/scripts/dev/build_release.py b/scripts/dev/build_release.py index 40cedc2e8..3511bc9ca 100755 --- a/scripts/dev/build_release.py +++ b/scripts/dev/build_release.py @@ -16,6 +16,7 @@ import subprocess import argparse import tarfile import tempfile +import platform import collections import dataclasses import re @@ -301,8 +302,10 @@ def build_mac( dmg_makefile_path = REPO_ROOT / "scripts" / "dev" / "Makefile-dmg" subprocess.run(['make', '-f', dmg_makefile_path], check=True) + arch = platform.machine() suffix = "-debug" if debug else "" suffix += "-qt5" if qt5 else "" + suffix += f"-{arch}" dmg_path = dist_path / f'qutebrowser-{qutebrowser.__version__}{suffix}.dmg' pathlib.Path('qutebrowser.dmg').rename(dmg_path) @@ -322,11 +325,14 @@ def build_mac( except PermissionError as e: print(f"Failed to remove tempdir: {e}") + arch_to_desc = {"x86_64": "Intel", "arm64": "Apple Silicon"} + desc_arch = arch_to_desc[arch] + return [ Artifact( path=dmg_path, mimetype='application/x-apple-diskimage', - description='macOS .dmg' + description=f'macOS .dmg ({desc_arch})' ) ]