From 3e53aa51c57095fb29ada2cfeabc4c77e2cedf51 Mon Sep 17 00:00:00 2001 From: Scott Talbert Date: Fri, 6 Feb 2026 09:25:23 -0500 Subject: [PATCH] Migrate Linux CI to Ubuntu 24.04 runners Presumably 22.04 will be retired and 24.04 should certainly be stable enough at this point. (cherry picked from commit bd1370317dd8212f9e9f46799c2e1f2e1537f2eb) --- .github/workflows/build-linux-wheels.yml | 2 +- .github/workflows/ci-build.yml | 41 +++++++----------------- 2 files changed, 13 insertions(+), 30 deletions(-) diff --git a/.github/workflows/build-linux-wheels.yml b/.github/workflows/build-linux-wheels.yml index f76f77a4..566fb166 100644 --- a/.github/workflows/build-linux-wheels.yml +++ b/.github/workflows/build-linux-wheels.yml @@ -11,7 +11,7 @@ jobs: # Build a wxPython source archive, and save it as an artifact for use in the # job that builds the wheels. build-source-dist: - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 outputs: VERSION: ${{ steps.generate.outputs.version }} diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 6e663a9a..9590e98a 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -41,7 +41,7 @@ jobs: # Build a wxPython source archive, and save it as an artifact for use in the # job that builds the wheels. build-source-dist: - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 outputs: VERSION: ${{ steps.generate.outputs.version }} @@ -107,14 +107,14 @@ jobs: strategy: fail-fast: false matrix: - os: [ ubuntu-22.04, windows-2022, macos-15-intel, macos-14, windows-11-arm ] + os: [ ubuntu-24.04, windows-2022, macos-15-intel, macos-14, windows-11-arm ] python-version: [ '3.10', '3.11', '3.12', '3.13', '3.14' ] architecture: [ 'x86', 'x64', 'arm64' ] # Exclude x86 configs on non-Windows OSs exclude: - - os: ubuntu-22.04 + - os: ubuntu-24.04 architecture: x86 - - os: ubuntu-22.04 + - os: ubuntu-24.04 architecture: arm64 - os: macos-15-intel architecture: x86 @@ -156,7 +156,7 @@ jobs: id: init run: | build_opts=$WXPYTHON_BUILD_ARGS - if [ ${{ matrix.os }} == ubuntu-22.04 ]; then + if [ ${{ runner.os }} == 'Linux' ]; then short_name=linux elif [ ${{ matrix.os }} == macos-15-intel ]; then short_name=macos @@ -209,26 +209,9 @@ jobs: python -m pip install --upgrade -r requirements.txt - name: Install Ubuntu dependencies - if: ${{ matrix.os == 'ubuntu-22.04' }} + if: runner.os == 'Linux' run: | - sudo apt-get update - sudo apt-get install -y \ - freeglut3-dev \ - libcurl4-openssl-dev \ - libexpat1-dev \ - libgl1-mesa-dev \ - libglu1-mesa-dev \ - libgtk-3-dev \ - libjpeg-dev \ - libnotify-dev \ - libsdl2-dev \ - libsm-dev \ - libtiff-dev \ - libwebkit2gtk-4.0-dev \ - libxtst-dev \ - libunwind-dev \ - libgstreamer1.0-dev \ - libgstreamer-plugins-base1.0-dev + ./buildtools/install_depends.sh - name: Setup MSVC uses: ilammy/msvc-dev-cmd@v1 @@ -258,7 +241,7 @@ jobs: uses: actions/upload-artifact@v4 # Just Windows and MacOS for now, all we care about for Linux at this # point is that the build was successful. - if: ${{ matrix.os != 'ubuntu-22.04' }} + if: runner.os != 'Linux' with: name: wxPython-wheel-${{ steps.init.outputs.canonical_id }} path: dist/wxpython-*.whl @@ -309,7 +292,7 @@ jobs: name: Publish Python distribution to PyPI if: startsWith(github.ref, 'refs/tags/') needs: build-wheels - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 environment: name: pypi @@ -332,7 +315,7 @@ jobs: github-release: name: Create GitHub Release and upload source needs: publish-to-pypi - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 permissions: contents: write @@ -362,7 +345,7 @@ jobs: upload-demo-docs-to-extras: name: Upload demo/docs to extras.wxpython.org needs: [build-source-dist, publish-to-pypi] - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - name: Download demo/docs @@ -386,7 +369,7 @@ jobs: name: Upload wheels to snapshot-builds on wxpython.org if: github.event_name == 'push' needs: build-wheels - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - name: Download all the dists