diff --git a/.github/workflows/build-debian-multiarch.yml b/.github/workflows/build-debian-multiarch.yml index 543486b8e7..8fe0937bba 100644 --- a/.github/workflows/build-debian-multiarch.yml +++ b/.github/workflows/build-debian-multiarch.yml @@ -96,13 +96,11 @@ jobs: install: ${{ env.INSTALL_CMD }} # Build a wheel, install it for running unit tests. - # --no-build-isolation is passed so that preinstalled meson-python can be used - # (done for optimization reasons) + # pip does not know that ninja is installed, and tries to install it again. + # so pass --ignore-dep ninja explicitly run: | - echo "\nBuilding pygame wheel\n" - pip3 wheel . --no-build-isolation --wheel-dir /artifacts -vvv - echo "\nInstalling wheel\n" - pip3 install --no-index --pre --break-system-packages --find-links /artifacts pygame-ce + echo "\nBuilding and installing pygame wheel\n" + PIP_BREAK_SYSTEM_PACKAGES=1 python3 dev.py --ignore-dep ninja build --wheel /artifacts --lax echo "\nRunning tests\n" export SDL_VIDEODRIVER=dummy export SDL_AUDIODRIVER=disk diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index 23e304285f..8c269d9cb3 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -135,7 +135,7 @@ jobs: - name: Install uv for speed uses: yezz123/setup-uv@v4 with: - uv-version: "0.4.10" + uv-version: "0.5.4" - name: Build and test wheels uses: pypa/cibuildwheel@v2.21.3 diff --git a/.github/workflows/build-on-msys2.yml b/.github/workflows/build-on-msys2.yml index 6ac74c15f4..0845aefce2 100644 --- a/.github/workflows/build-on-msys2.yml +++ b/.github/workflows/build-on-msys2.yml @@ -68,12 +68,10 @@ jobs: # mingw-w64-${{ matrix.env }}-freetype # mingw-w64-${{ matrix.env }}-portmidi - - name: Building pygame wheel - run: | - pip3 wheel . --wheel-dir /artifacts -vvv --no-build-isolation - - - name: Installing wheel - run: pip3 install --no-index --pre --find-links /artifacts pygame-ce + # pip does not know that ninja is installed, and tries to install it again. + # so pass --ignore-dep ninja explicitly + - name: Build and install pygame wheel + run: python3 dev.py --ignore-dep ninja build --wheel /artifacts --lax - name: Run tests env: diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index d868bfabce..99b30d9d69 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -59,7 +59,7 @@ jobs: - name: Install uv for speed uses: yezz123/setup-uv@v4 with: - uv-version: "0.4.10" + uv-version: "0.5.4" - name: Build and test wheels uses: pypa/cibuildwheel@v2.21.3 diff --git a/dev.py b/dev.py index c3f27a00b8..c7a5dfb29e 100644 --- a/dev.py +++ b/dev.py @@ -196,9 +196,9 @@ def __init__(self) -> None: "build": get_build_deps(), "docs": get_build_deps(), "test": {"numpy"}, - "lint": {"pylint==3.3.0", "numpy"}, - "stubs": {"mypy==1.11.2", "numpy"}, - "format": {"pre-commit==3.8.0"}, + "lint": {"pylint==3.3.1", "numpy"}, + "stubs": {"mypy==1.13.0", "numpy"}, + "format": {"pre-commit==4.0.1"}, } self.deps["all"] = set() for k in self.deps.values(): diff --git a/pyproject.toml b/pyproject.toml index 476a08242e..acf6eb483d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -54,11 +54,11 @@ pygame_ce = 'pygame.__briefcase.pygame_ce:PygameCEGuiBootstrap' [build-system] requires = [ - "meson-python<=0.16.0", - "meson<=1.5.1", - "ninja<=1.11.1.1", + "meson-python<=0.17.1", + "meson<=1.6.0", + "ninja<=1.12.1", "cython<=3.0.11", - "sphinx<=7.2.6", + "sphinx<=8.1.3", ] build-backend = 'mesonpy'