diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index d3a6a1cf..c82e0a97 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -49,7 +49,7 @@ jobs: - macos-15-intel python: - '3.9' - - '3.14' + - '3.15' meson: - dependencies: @@ -115,6 +115,7 @@ jobs: uses: actions/setup-python@v5 with: python-version: ${{ matrix.python }} + allow-prereleases: true - name: Install Ninja run: sudo apt-get install ninja-build diff --git a/tests/test_sdist.py b/tests/test_sdist.py index 70a3e357..4fc0bda1 100644 --- a/tests/test_sdist.py +++ b/tests/test_sdist.py @@ -222,6 +222,11 @@ def test_reproducible(package_pure, tmp_path): # containing symbolic links to absolute paths on Python 3.14. # See https://github.com/mesonbuild/meson/issues/15142 @pytest.mark.skipif(sys.version_info >= (3, 14) and MESON_VERSION < (1, 9, 2), reason='incompatible Python version') +# Python 3.15 tarfile module translates POSIX paths to Windows paths +# when extracting tar archives on Windows, but does not implement the +# inverse when creating archives. This results in invalid tar archives +# and breaks this test. See https://github.com/python/cpython/pull/151671 +@pytest.mark.xfail(sys.version_info >= (3, 15) and sys.platform == 'win32', reason='Python 3.15 tarfile module bug') @pytest.mark.filterwarnings('ignore:symbolic link') def test_symlinks(tmp_path, sdist_symlinks): with tarfile.open(sdist_symlinks, 'r:gz') as sdist: