mirror of
https://github.com/pybind/pybind11.git
synced 2026-03-14 20:27:47 +00:00
* Fix "🐍 3 • windows-latest • mingw64" job (apparently msys2/setup-msys2@v2 cannot be run twice anymore):
https://github.com/pybind/pybind11/actions/runs/17394902023/job/49417376616?pr=5796
```
Run msys2/setup-msys2@v2
with:
msystem: mingw64
install: mingw-w64-x86_64-python-numpy mingw-w64-x86_64-python-scipy mingw-w64-x86_64-eigen3
path-type: minimal
update: false
pacboy: false
release: true
location: RUNNER_TEMP
platform-check-severity: fatal
cache: true
env:
PYTHONDEVMODE: 1
PIP_BREAK_SYSTEM_PACKAGES: 1
PIP_ONLY_BINARY: numpy
FORCE_COLOR: 3
PYTEST_TIMEOUT: 300
VERBOSE: 1
CMAKE_COLOR_DIAGNOSTICS: 1
MSYSTEM: MINGW64
Error: Trying to install MSYS2 to D:\a\_temp\msys64 but that already exists, cannot continue.
```
* Add `pytest.xfail("[TEST-GIL-SCOPED] macOS free-threading...)`
* Change env.SYS_IS_GIL_ENABLED constant to env.sys_is_gil_enabled function
* Change install_mingw64_only → extra_install
* Also xfail if macOS and PY_GIL_DISABLED, show SOABI
* build-ios: brew upgrade|install cmake
* Revert "build-ios: brew upgrade|install cmake"
This reverts commit bd3900ee79.
See also:
https://github.com/pybind/pybind11/pull/5822#issuecomment-3247827317
* Disable build-ios job in tests-cibw.yml
* Remove macos_brew_install_llvm job because it started failing, to reduce our maintenance overhead:
Failures tracked here: https://github.com/pybind/pybind11/pull/5822#issuecomment-3247998220
* Fix iOS build step for cmake installation
Replaced brew upgrade with brew install for cmake.
* Update cmake installation steps in CI workflow
Uninstall cmake before installing the latest version due to GitHub's local tap changes.
* Update .github/workflows/tests-cibw.yml
---------
Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
42 lines
1.5 KiB
Python
42 lines
1.5 KiB
Python
from __future__ import annotations
|
|
|
|
import platform
|
|
import sys
|
|
import sysconfig
|
|
|
|
import pytest
|
|
|
|
ANDROID = sys.platform.startswith("android")
|
|
LINUX = sys.platform.startswith("linux")
|
|
MACOS = sys.platform.startswith("darwin")
|
|
WIN = sys.platform.startswith("win32") or sys.platform.startswith("cygwin")
|
|
|
|
CPYTHON = platform.python_implementation() == "CPython"
|
|
PYPY = platform.python_implementation() == "PyPy"
|
|
GRAALPY = sys.implementation.name == "graalpy"
|
|
_graalpy_version = (
|
|
sys.modules["__graalpython__"].get_graalvm_version() if GRAALPY else "0.0.0"
|
|
)
|
|
GRAALPY_VERSION = tuple(int(t) for t in _graalpy_version.split("-")[0].split(".")[:3])
|
|
|
|
# Compile-time config (what the binary was built for)
|
|
PY_GIL_DISABLED = bool(sysconfig.get_config_var("Py_GIL_DISABLED"))
|
|
# Runtime state (what's actually happening now)
|
|
sys_is_gil_enabled = getattr(sys, "_is_gil_enabled", lambda: True)
|
|
|
|
|
|
def deprecated_call():
|
|
"""
|
|
pytest.deprecated_call() seems broken in pytest<3.9.x; concretely, it
|
|
doesn't work on CPython 3.8.0 with pytest==3.3.2 on Ubuntu 18.04 (#2922).
|
|
|
|
This is a narrowed reimplementation of the following PR :(
|
|
https://github.com/pytest-dev/pytest/pull/4104
|
|
"""
|
|
# TODO: Remove this when testing requires pytest>=3.9.
|
|
pieces = pytest.__version__.split(".")
|
|
pytest_major_minor = (int(pieces[0]), int(pieces[1]))
|
|
if pytest_major_minor < (3, 9):
|
|
return pytest.warns((DeprecationWarning, PendingDeprecationWarning))
|
|
return pytest.deprecated_call()
|