Skip to content

Merge pull request #2633 from Matiiss/matiiss-improve-window-flip-err… #6

Merge pull request #2633 from Matiiss/matiiss-improve-window-flip-err…

Merge pull request #2633 from Matiiss/matiiss-improve-window-flip-err… #6

Workflow file for this run

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