From a7571dee55ac8e628c9e530f6b7907043c671344 Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Sat, 27 Sep 2025 12:20:05 +0200 Subject: [PATCH 1/5] GitHub Actions: Add Python 3.14 and PyPy 3.11 Python v3.14 -- October 7th * https://www.python.org/download/pre-releases * https://www.python.org/downloads/release/python-3140rc3 * https://github.com/actions/setup-python/blob/main/docs/advanced-usage.md#allow-pre-releases * https://pypy.org/download.html -- PyPy only keeps a single release as current. Note: Python 3.9 will EOL in 10 days, when Python 3.14 will be released. --- .github/workflows/ci.yml | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8483bff..dc105b2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,14 +12,15 @@ jobs: strategy: matrix: os: [ubuntu-latest] - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] + python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13', '3.14'] steps: - - uses: actions/checkout@v3 - - name: Setup Python - uses: actions/setup-python@v3 + - uses: actions/checkout@v5 + - name: Setup Python ${{ matrix.python-version }} + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} + allow-prereleases: true cache: 'pip' cache-dependency-path: 'requirements-dev-full.txt' - run: pip install . -r requirements-dev-full.txt @@ -35,9 +36,9 @@ jobs: python-version: ['3.8'] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v5 - name: Setup Python - uses: actions/setup-python@v3 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} cache: 'pip' @@ -53,12 +54,12 @@ jobs: strategy: matrix: os: [ubuntu-latest] - python-version: ['pypy-3.9','pypy-3.10'] + python-version: ['pypy-3.10','pypy-3.11'] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v5 - name: Setup Python - uses: actions/setup-python@v3 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} cache: 'pip' @@ -72,12 +73,13 @@ jobs: strategy: matrix: os: [ubuntu-latest] - python-version: ['3.14-dev'] + python-version: ['3.15'] steps: - - uses: actions/checkout@v3 - - name: Setup Python - uses: actions/setup-python@v3 + - uses: actions/checkout@v5 + - name: Setup Python ${{ matrix.python-version }} + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} + allow-prereleases: true - run: pip install . -r requirements-dev.in - run: make test From d2a1288dd6c8709ab7391708aeedc5bf8e400906 Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Sat, 27 Sep 2025 12:31:37 +0200 Subject: [PATCH 2/5] Modify Python version and add cryptography install Updated Python version in CI workflow from 3.15 to 3.14 and added pip install for cryptography for PyPy v3.11. --- .github/workflows/ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dc105b2..9543f75 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -64,6 +64,8 @@ jobs: python-version: ${{ matrix.python-version }} cache: 'pip' cache-dependency-path: 'requirements-dev.txt' + - run: pip install cryptography # TODO(cclauss): Fix requirements for PyPy v3.11 + if: matrix.python-version == 'pypy-3.11' - run: pip install . -r requirements-dev.txt - run: make test @@ -73,7 +75,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - python-version: ['3.15'] + python-version: ['3.14'] steps: - uses: actions/checkout@v5 - name: Setup Python ${{ matrix.python-version }} From 5ff34036d7eee531a28758775eedca2e5dfd9746 Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Sat, 27 Sep 2025 12:38:58 +0200 Subject: [PATCH 3/5] Update cryptography package version to 46.0.1 --- requirements-dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 36b3692..e9195f7 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -17,7 +17,7 @@ click==8.1.8 # via pip-tools coverage[toml]==7.6.1 # via pytest-cov -cryptography==44.0.1 +cryptography==46.0.1 # via trustme exceptiongroup==1.2.2 ; python_version < "3.11" # via From 2524b1fcf9d08f17a4e3c588b894ef4a70cba0c2 Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Sat, 27 Sep 2025 12:44:54 +0200 Subject: [PATCH 4/5] Remove cryptography installation for PyPy v3.11 Removed installation of cryptography for PyPy v3.11. --- .github/workflows/ci.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9543f75..0720406 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -64,8 +64,6 @@ jobs: python-version: ${{ matrix.python-version }} cache: 'pip' cache-dependency-path: 'requirements-dev.txt' - - run: pip install cryptography # TODO(cclauss): Fix requirements for PyPy v3.11 - if: matrix.python-version == 'pypy-3.11' - run: pip install . -r requirements-dev.txt - run: make test From 22865a36140cf123d8d6ac6afcf1d8b15dbaab07 Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Sat, 27 Sep 2025 12:46:20 +0200 Subject: [PATCH 5/5] Update Python setup step names in CI workflow --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0720406..689741e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,7 +37,7 @@ jobs: steps: - uses: actions/checkout@v5 - - name: Setup Python + - name: Setup Python ${{ matrix.python-version }} uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} @@ -58,7 +58,7 @@ jobs: steps: - uses: actions/checkout@v5 - - name: Setup Python + - name: Setup Python ${{ matrix.python-version }} uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }}