Skip to content

CI: add Python 3.15#855

Merged
dnicolodi merged 2 commits into
mesonbuild:mainfrom
dnicolodi:ci-python-315
Jun 26, 2026
Merged

CI: add Python 3.15#855
dnicolodi merged 2 commits into
mesonbuild:mainfrom
dnicolodi:ci-python-315

Conversation

@dnicolodi

Copy link
Copy Markdown
Member

No description provided.

@rgommers

Copy link
Copy Markdown
Contributor

I'll capture the test error on Windows with 3.15.0b2 for posterity:

 FAILED tests/test_sdist.py::test_symlinks - AssertionError: assert {'symlinks-1.0.0/meson.build', 'symlinks-1.0.0/submodule/bbb.py', 'symlinks-1.0.0/pyproject.toml', 'symlinks-1.0.0/__init__.py', 'symlinks-1.0.0/PKG-INFO', 'symlinks-1.0.0/submodule/aaa.py'} == {'symlinks-1.0.0/meson.build', 'symlinks-1.0.0/pyproject.toml', 'symlinks-1.0.0/submodule/bbb.py', 'symlinks-1.0.0/__init__.py', 'symlinks-1.0.0/PKG-INFO', 'symlinks-1.0.0/submodule/aaa.py', 'symlinks-1.0.0/submodule/__init__.py'}
  
  Extra items in the right set:
  'symlinks-1.0.0/submodule/__init__.py'
  
  Full diff:
    {
        'symlinks-1.0.0/PKG-INFO',
        'symlinks-1.0.0/__init__.py',
        'symlinks-1.0.0/meson.build',
        'symlinks-1.0.0/pyproject.toml',
  -     'symlinks-1.0.0/submodule/__init__.py',
        'symlinks-1.0.0/submodule/aaa.py',
        'symlinks-1.0.0/submodule/bbb.py',
    }

Fingers crossed the one-liner fix in python/cpython#151671 lands in beta 3.

@ngoldbaum

Copy link
Copy Markdown

Fingers crossed the one-liner fix in python/cpython#151671 lands in beta 3.

No such luck unfortunately. You'll need to wait for beta4, beta3 just came out: https://discuss.python.org/t/python-3-15-0-beta-3-is-here/107866

@dnicolodi

Copy link
Copy Markdown
Member Author

The issue with symlinks in tar archives on Windows is mostly theoretical: I don't think there is anyone using symlinks on Windows withing source distribution of Python packages. We can just mark the test as a known failure an move on.

@rgommers

Copy link
Copy Markdown
Contributor

I'd hope everyone uses Linux for publishing sdists indeed, but it's not completely theoretical, e.g. if Matplotlib (which uses symlinks) would run wheel builds as python -m build (i.e., via sdist), that'd go wrong on Windows.

Fine with marking as xfail or skip on win-315 and move on for now, but let's keep track of it to ensure we undo that before 3.15.0rc1

@dnicolodi

Copy link
Copy Markdown
Member Author

Fine with marking as xfail or skip on win-315 and move on for now, but let's keep track of it to ensure we undo that before 3.15.0rc1

This implies that the bug will be fixed. I don't know the dynamics of the CPython development but, given the interested demonstrated so far, I doubt that it will be fixed.

@rgommers

Copy link
Copy Markdown
Contributor

I have some more confidence in that, but worst case we'll close the tracker issue again. For now let's get this in once CI is green.

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.
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.
@dnicolodi dnicolodi changed the title CI: add Python 3.15 on Windows job CI: add Python 3.15 Jun 26, 2026
@dnicolodi dnicolodi merged commit d9a64e6 into mesonbuild:main Jun 26, 2026
35 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants