From bfdb33e5c7e9c4ef3fef20fc701692444a174cc7 Mon Sep 17 00:00:00 2001 From: Daniele Nicolodi Date: Fri, 26 Jun 2026 21:50:12 +0200 Subject: [PATCH 1/2] TST: disable symlinks sdist test on Python 3.15 on Windows Python 3.15 tarfile module translates POSIX paths to Windows paths when extracting tar archives on Windows, but does not implement the inverse normalization when creating archives. This results in invalid tar archives and breaks this test. --- tests/test_sdist.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/test_sdist.py b/tests/test_sdist.py index 70a3e357e..4fc0bda1d 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: From caaaf7323aea5f73b72256fea748f7ba7fa079cc Mon Sep 17 00:00:00 2001 From: Daniele Nicolodi Date: Thu, 18 Jun 2026 19:00:06 +0200 Subject: [PATCH 2/2] CI: test with Python 3.15 Switch Python 3.15 for Python 3.14 in the main test matrix. Python 3.14 is tested by the jobs running with Meson from git master branch. --- .github/workflows/tests.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index d3a6a1cf4..c82e0a97e 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