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]