diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 18baf6cc4..57825d0f1 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -107,7 +107,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ ubuntu-22.04, windows-2022, macos-13, macos-14, windows-11-arm ] + os: [ windows-2022 ] python-version: [ '3.9', '3.10', '3.11', '3.12', '3.13', '3.14' ] architecture: [ 'x86', 'x64', 'arm64' ] # Exclude x86 configs on non-Windows OSs @@ -180,8 +180,10 @@ jobs: else short_name=win32 fi + build_opts="$build_opts --relwithdebug" elif [ ${{ matrix.os }} == windows-11-arm ]; then short_name=win64 + build_opts="$build_opts --relwithdebug" fi echo "short_name=$short_name" >> "$GITHUB_OUTPUT" echo "canonical_id=$short_name-py${{ matrix.python-version }}-${{ matrix.architecture}}" >> "$GITHUB_OUTPUT" @@ -243,12 +245,20 @@ jobs: run: | if [ -z "$CIBW_BUILD" ]; then cd dist - pip wheel -v wxPython-${{ env.VERSION }}.tar.gz + pip wheel -vvv --no-clean wxPython-${{ env.VERSION }}.tar.gz + find . else pip install cibuildwheel cibuildwheel dist/wxPython-${{ env.VERSION }}.tar.gz --output-dir dist fi + - name: Build the PDB zipfile + if: runner.os == 'Windows' + env: + WXPYTHON_BUILD_ARGS: ${{ steps.init.outputs.build_opts }} + run: | + python build.py build_pdbzip + - name: Simple smoke test run: | cd dist @@ -265,6 +275,13 @@ jobs: name: wxPython-wheel-${{ steps.init.outputs.canonical_id }} path: dist/wxpython-*.whl + - name: Save pdb as job artifact + uses: actions/upload-artifact@v4 + if: runner.os == 'Windows' + with: + name: pdb-${{ steps.init.outputs.canonical_id }} + path: dist/wxPython-pdb-*.zip + build-documentation: name: Build wxPython documentation if: github.event_name == 'push' diff --git a/build.py b/build.py index 3761ccc9a..10a8f9eda 100755 --- a/build.py +++ b/build.py @@ -1945,7 +1945,12 @@ def cmd_build_pdbzip(options, args): if not filenames: msg('No PDB files found in ./wx!') return - arch = 'win_amd64' if PYTHON_ARCH == '64bit' else 'win32' + if PYTHON_MACHINE == 'ARM64': + arch = 'win_arm64' + elif PYTHON_ARCH == '64bit': + arch = 'win_amd64' + else: + arch = 'win32' pyver = 'py{}'.format(PYSHORTVER) zipname = 'dist/{}-pdb-{}-{}-{}.zip'.format(baseName, cfg.VERSION, pyver, arch) from zipfile import ZipFile, ZIP_DEFLATED