Repository: nodejs/gyp-next (language: python)

Issue:
Testing on pre-release (beta) versions of Python
Hi, folks.

I had the idea to test on upcoming Python versions _before_ they become stable.

Current results (Python 3.13): I'm happy to share that Python 3.13 Alpha 2 and `master` branch of `gyp-next` seem to be working okay together, at least at the time I'm writing this:
- https://github.com/DeeDeeG/gyp-next/actions/runs/6983988623/job/19006047778
- https://github.com/DeeDeeG/gyp-next/actions/runs/6984119046/job/19006416991

Suggestion: If folks here want, I'm sure it wouldn't be too hard to modify the test matrix of the "Python tests" workflow to run against the prerelease Python version on a schedule, perhaps once weekly, or once monthly?

Let me know if this is something you are interested in, and I can look at the cleanest way to implement it into the workflow `.yaml` for CI. (Easiest thing would be to just add `3.13` to the test matrix now, and test every PR/push against it, I suppose.)


Discussion / hints:
We should wait for beta versions and then add them to GitHub Actions as we have done in the past.
* #196
* #159
* #127
# GAME ON!!!
* https://www.python.org/downloads/release/python-3130b1/

Fix patch:
diff --git a/.github/workflows/node-gyp.yml b/.github/workflows/node-gyp.yml
index 3c96a948..bad5e05d 100644
--- a/.github/workflows/node-gyp.yml
+++ b/.github/workflows/node-gyp.yml
@@ -10,11 +10,8 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        os: [macos-latest, macos-14, ubuntu-latest, windows-latest]
-        python: ["3.8", "3.10", "3.12"]
-        exclude:
-          - os: macos-14
-            python: "3.8"
+        os: [macos-latest, ubuntu-latest, windows-latest]
+        python: ["3.8", "3.10", "3.12", "3.13"]
 
     runs-on: ${{ matrix.os }}
     steps:


Test patch:
diff --git a/.github/workflows/python_tests.yml b/.github/workflows/python_tests.yml
index a93412da..abb3b00f 100644
--- a/.github/workflows/python_tests.yml
+++ b/.github/workflows/python_tests.yml
@@ -15,13 +15,8 @@ jobs:
       fail-fast: false
       max-parallel: 5
       matrix:
-        os: [macos-latest, macos-14, ubuntu-latest] # , windows-latest]
-        python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
-        exclude:
-          - os: macos-14
-            python-version: "3.8"
-          - os: macos-14
-            python-version: "3.9"
+        os: [macos-latest, ubuntu-latest] # , windows-latest]
+        python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
     steps:
       - uses: actions/checkout@v4
       - name: Set up Python ${{ matrix.python-version }}