Merge pull request #2633 from Matiiss/matiiss-improve-window-flip-err… #6
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Windows | |
# Run CI only when a release is created, on changes to main branch, or any PR | |
# to main. Do not run CI on any other branch. Also, skip any non-source changes | |
# from running on CI | |
on: | |
push: | |
branches: main | |
paths-ignore: | |
- 'docs/**' | |
- 'examples/**' | |
- '.gitignore' | |
- '*.rst' | |
- '*.md' | |
- '.github/workflows/*.yml' | |
# re-include current file to not be excluded | |
- '!.github/workflows/build-windows.yml' | |
pull_request: | |
branches: main | |
paths-ignore: | |
- 'docs/**' | |
- 'examples/**' | |
- '.gitignore' | |
- '*.rst' | |
- '*.md' | |
- '.github/workflows/*.yml' | |
# re-include current file to not be excluded | |
- '!.github/workflows/build-windows.yml' | |
# the github release drafter can call this workflow | |
workflow_call: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }}-windows | |
cancel-in-progress: true | |
jobs: | |
build: | |
name: ${{ matrix.name }} | |
runs-on: windows-latest | |
strategy: | |
fail-fast: false # if a particular matrix build fails, don't skip the rest | |
matrix: | |
include: | |
- { | |
name: "CPython 3.12 (64 bit)", | |
winarch: AMD64, | |
msvc-dev-arch: x86_amd64, | |
pyversions: "cp312-*" | |
} | |
- { | |
name: "CPython 3.11 (64 bit)", | |
winarch: AMD64, | |
msvc-dev-arch: x86_amd64, | |
pyversions: "cp311-*" | |
} | |
- { | |
name: "CPython 3.10 (64 bit)", | |
winarch: AMD64, | |
msvc-dev-arch: x86_amd64, | |
pyversions: "cp310-*" | |
} | |
- { | |
name: "CPython 3.9 (64 bit)", | |
winarch: AMD64, | |
msvc-dev-arch: x86_amd64, | |
pyversions: "cp39-*" | |
} | |
- { | |
name: "CPython 3.8 (64 bit)", | |
winarch: AMD64, | |
msvc-dev-arch: x86_amd64, | |
pyversions: "cp38-*" | |
} | |
- { | |
name: "CPython 3.12 (32 bit)", | |
winarch: x86, | |
msvc-dev-arch: x86, | |
pyversions: "cp312-win32*" | |
} | |
- { | |
name: "CPython 3.11 (32 bit)", | |
winarch: x86, | |
msvc-dev-arch: x86, | |
pyversions: "cp311-win32" | |
} | |
- { | |
name: "CPython 3.10 (32 bit)", | |
winarch: x86, | |
msvc-dev-arch: x86, | |
pyversions: "cp310-win32" | |
} | |
- { | |
name: "CPython 3.9 (32 bit)", | |
winarch: x86, | |
msvc-dev-arch: x86, | |
pyversions: "cp39-win32" | |
} | |
- { | |
name: "CPython 3.8 (32 bit)", | |
winarch: x86, | |
msvc-dev-arch: x86, | |
pyversions: "cp38-win32" | |
} | |
- { | |
name: "Pypy 3.8", | |
winarch: AMD64, | |
msvc-dev-arch: x86_amd64, | |
pyversions: "pp38-*" | |
} | |
- { | |
name: "Pypy 3.9", | |
winarch: AMD64, | |
msvc-dev-arch: x86_amd64, | |
pyversions: "pp39-*" | |
} | |
- { | |
name: "Pypy 3.10", | |
winarch: AMD64, | |
msvc-dev-arch: x86_amd64, | |
pyversions: "pp310-*" | |
} | |
env: | |
# load pip config from this file. Define this in 'CIBW_ENVIRONMENT' | |
# because this should not affect cibuildwheel machinery | |
# also define environment variables needed for testing | |
CIBW_ENVIRONMENT: PIP_CONFIG_FILE=buildconfig/pip_config.ini SDL_VIDEODRIVER=dummy SDL_AUDIODRIVER=disk | |
CIBW_BUILD: ${{ matrix.pyversions }} | |
CIBW_ARCHS: ${{ matrix.winarch }} | |
# Not sure if we can use this later. I had to move the docs into the steps section for it | |
# to be included in the wheel | |
# CIBW_BEFORE_BUILD: | | |
# call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86_amd64 | |
# set DISTUTILS_USE_SDK=1 | |
# set MSSdk=1 | |
# pip install setuptools wheel requests numpy Sphinx | |
# python setup.py docs | |
CIBW_TEST_COMMAND: python -m pygame.tests -v --exclude opengl,timing --time_out 300 | |
# Increase pip debugging output | |
CIBW_BUILD_VERBOSITY: 2 | |
steps: | |
- uses: actions/[email protected] | |
- uses: TheMrMilchmann/setup-msvc-dev@v3 # this lets us use the developer command prompt on windows | |
with: | |
arch: ${{ matrix.msvc-dev-arch }} | |
- name: Build and test wheels | |
shell: cmd | |
run: | | |
set DISTUTILS_USE_SDK=1 | |
set MSSdk=1 | |
python -m pip install setuptools wheel requests numpy Sphinx"<7.2.0" | |
python setup.py docs | |
python -m pip --disable-pip-version-check install cibuildwheel==2.16.2 | |
python -m cibuildwheel --output-dir wheelhouse | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: pygame-wheels-windows-${{ matrix.name }} | |
path: ./wheelhouse/*.whl | |
compression-level: 0 # wheels are already zip files, no need for more compression |