From 8342f8200aad284249a690334ef5a9f61cfed114 Mon Sep 17 00:00:00 2001
From: Eliah Kagan <degeneracypressure@gmail.com>
Date: Mon, 5 Feb 2024 22:52:44 -0500
Subject: [PATCH 1/2] Test with M1 macOS CI runner

This adds macos-14 as a value for "os". The new macOS 14 runners
use Apple Silicon M1 systems (64-bit ARM CPUs), allowing GitPython
to be tested on ARM64 actions/python-versions builds of Python,
such as python-3.12.1-darwin-arm64.tar.gz.

https://github.blog/changelog/2024-01-30-github-actions-introducing-the-new-m1-macos-runner-available-to-open-source/
https://github.blog/changelog/2024-01-30-github-actions-macos-14-sonoma-is-now-available/

This commit doesn't exclude any `os`/`python-version` combinations,
even though not all versions of Python that GitPython supports are
currently available via the setup-python (and 3.7 builds are very
unlikely ever to be available for macos-14). This is to verify that
the currently unsupported versions are 3.7, 3.8, 3.9, and no
others. The next commit will exclude the unavailable versions.
---
 .github/workflows/pythonpackage.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml
index 08ff4efdf..758b41427 100644
--- a/.github/workflows/pythonpackage.yml
+++ b/.github/workflows/pythonpackage.yml
@@ -13,7 +13,7 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        os: ["ubuntu-latest", "macos-13", "windows-latest"]
+        os: ["ubuntu-latest", "macos-13", "macos-14", "windows-latest"]
         python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"]
         include:
         - experimental: false

From 9ad28c3d2dc7f7355836198a3848ff430aaaa382 Mon Sep 17 00:00:00 2001
From: Eliah Kagan <degeneracypressure@gmail.com>
Date: Mon, 5 Feb 2024 23:06:50 -0500
Subject: [PATCH 2/2] Exclude unavailable Python versions for M1 runner

Some versions of Python do not currently have builds available via
actions/setup-python for the Apple Silicon M1 (64-bit ARM) runner
used for macos-14. This excludes those.

- Python 3.7 is EoL and builds for it are no likely to be provided
  for newly available platforms on GitHub Actions.

- Python 3.8 and 3.9 are still supported by the Python Software
  Foundation. Builds for them are not currently avaialable on the
  GHA M1 runners, but it appears this may not be intentional. See
  https://github.com/actions/setup-python/issues/808. If those
  versions become available, then they can be reenabled.

- Later versions of Python are available.
---
 .github/workflows/pythonpackage.yml | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml
index 758b41427..595c031fc 100644
--- a/.github/workflows/pythonpackage.yml
+++ b/.github/workflows/pythonpackage.yml
@@ -15,6 +15,13 @@ jobs:
       matrix:
         os: ["ubuntu-latest", "macos-13", "macos-14", "windows-latest"]
         python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"]
+        exclude:
+        - os: "macos-14"
+          python-version: "3.7"
+        - os: "macos-14"
+          python-version: "3.8"
+        - os: "macos-14"
+          python-version: "3.9"
         include:
         - experimental: false