diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index fb501ea1..c913b1dc 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -83,11 +83,12 @@ jobs: test_unit: name: ${{ matrix.os }} - ${{ matrix.python-version }} - unit runs-on: ${{ matrix.os }} + continue-on-error: ${{ matrix.experimental || false }} strategy: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] - python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "pypy3.9"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14", "3.15", "pypy3.9"] include: - os: ubuntu-latest python-version: "3.10" @@ -103,6 +104,10 @@ jobs: python-version: 3.13 tox-env: devel + # Python 3.15 is not released yet; allow it to fail without blocking. + - python-version: "3.15" + experimental: true + steps: - name: Set newline behavior run: git config --global core.autocrlf false @@ -118,6 +123,7 @@ jobs: uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} + allow-prereleases: true - name: Ensure latest pip run: python -m pip install --upgrade pip @@ -160,15 +166,19 @@ jobs: test_integration: name: ubuntu - ${{ matrix.python-version }} - integration runs-on: ubuntu-latest + continue-on-error: ${{ matrix.experimental || false }} strategy: fail-fast: false matrix: - python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "pypy3.9"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14", "3.15", "pypy3.9"] include: - python-version: "3.10" with-coverage: true - python-version: 3.13 tox-env: devel + # Python 3.15 is not released yet; allow it to fail without blocking. + - python-version: "3.15" + experimental: true steps: - name: Set newline behavior @@ -188,6 +198,7 @@ jobs: uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} + allow-prereleases: true - name: Ensure latest pip run: python -m pip install --upgrade pip @@ -230,13 +241,17 @@ jobs: test_e2e: name: ubuntu - ${{ matrix.python-version }} - e2e runs-on: ubuntu-latest + continue-on-error: ${{ matrix.experimental || false }} strategy: fail-fast: false matrix: - python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "pypy3.9"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14", "3.15", "pypy3.9"] include: - python-version: 3.13 tox-env: devel + # Python 3.15 is not released yet; allow it to fail without blocking. + - python-version: "3.15" + experimental: true steps: - name: Set newline behavior @@ -256,6 +271,7 @@ jobs: uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} + allow-prereleases: true - name: Ensure latest pip run: python -m pip install --upgrade pip diff --git a/tox.ini b/tox.ini index edc0f788..54649a45 100644 --- a/tox.ini +++ b/tox.ini @@ -4,7 +4,7 @@ # and then run "tox" from this directory. [tox] -envlist = {3.9, 3.10, 3.10-cov, 3.11, 3.12, 3.13, pypy3.9}, docs, linting +envlist = {3.9, 3.10, 3.10-cov, 3.11, 3.12, 3.13, 3.14, 3.15, pypy3.9}, docs, linting isolated_build = True [testenv]