From ad84fd339cb5e89565efe295760ae004293688a3 Mon Sep 17 00:00:00 2001 From: mrbean-bremen Date: Mon, 7 Oct 2024 18:38:57 +0200 Subject: [PATCH] Add Python 3.13 to supported versions - use 3.13 together with allow-prereleases in CI this ensures that the released version is used as soon as available (currently rc3 is used, which should be identical to 3.13.0) --- .github/workflows/testsuite.yml | 15 ++++++--------- CHANGES.md | 3 +++ README.md | 2 +- setup.cfg | 1 + tox.ini | 2 +- 5 files changed, 12 insertions(+), 11 deletions(-) diff --git a/.github/workflows/testsuite.yml b/.github/workflows/testsuite.yml index 83ac8d0c..3240fe2a 100644 --- a/.github/workflows/testsuite.yml +++ b/.github/workflows/testsuite.yml @@ -32,7 +32,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macOS-latest, windows-latest] - python-version: [3.7, 3.8, 3.9, "3.10", "3.11", "3.12", "3.13-dev"] + python-version: [3.7, 3.8, 3.9, "3.10", "3.11", "3.12", "3.13"] include: - python-version: "pypy-3.7" os: ubuntu-latest @@ -50,6 +50,7 @@ jobs: uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + allow-prereleases: true - name: Get pip cache dir id: pip-cache @@ -84,20 +85,16 @@ jobs: fi shell: bash - name: Install extra dependencies - if: ${{ matrix.python-version != 'pypy-3.10' && ( matrix.python-version != '3.13-dev' || matrix.os != 'windows-latest' ) }} + if: ${{ matrix.python-version != 'pypy-3.10' }} run: | pip install -r extra_requirements.txt pip install -r legacy_requirements.txt - if [[ '${{ matrix.python-version }}' != '3.13-dev' ]]; then - pip install zstandard cffi # needed to test #910 - fi + pip install zstandard cffi # needed to test #910 shell: bash - name: Run unit tests with extra packages as non-root user - if: ${{ matrix.python-version != 'pypy-3.10' && ( matrix.python-version != '3.13-dev' || matrix.os != 'windows-latest' ) }} + if: ${{ matrix.python-version != 'pypy-3.10' }} run: | - if [[ '${{ matrix.python-version }}' != '3.13-dev' ]]; then - export PYTHON_ZSTANDARD_IMPORT_POLICY=cffi # needed to test #910 - fi + export PYTHON_ZSTANDARD_IMPORT_POLICY=cffi # needed to test #910 python -m pyfakefs.tests.all_tests shell: bash - name: Run performance tests diff --git a/CHANGES.md b/CHANGES.md index 05532957..9f808046 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -14,6 +14,9 @@ The released versions correspond to PyPI releases. ## Unreleased +### Changes +* officially support Python 3.13 + ### Enhancements * the `additional_skip_names` parameter now works with more modules (see [#1023](../../issues/1023)) * added support for `os.fchmod`, allow file descriptor argument for `os.chmod` only for POSIX diff --git a/README.md b/README.md index ad3f9973..9181a938 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,7 @@ for more information about the limitations of pyfakefs. ### Continuous integration pyfakefs is currently automatically tested on Linux, macOS and Windows, with -Python 3.7 to 3.12, and with PyPy3 on Linux, using +Python 3.7 to 3.13, and with PyPy3 on Linux, using [GitHub Actions](https://github.com/pytest-dev/pyfakefs/actions). ### Running pyfakefs unit tests diff --git a/setup.cfg b/setup.cfg index d47921b1..e010b7f0 100644 --- a/setup.cfg +++ b/setup.cfg @@ -34,6 +34,7 @@ classifiers = Programming Language :: Python :: 3.10 Programming Language :: Python :: 3.11 Programming Language :: Python :: 3.12 + Programming Language :: Python :: 3.13 Programming Language :: Python :: Implementation :: CPython Programming Language :: Python :: Implementation :: PyPy Operating System :: POSIX diff --git a/tox.ini b/tox.ini index cf3508ee..b80f53c5 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ [tox] envlist = - py{37,38,39,310,311,312} + py{37,38,39,310,311,312,313} pypy{37,39,310} [testenv]