From 9fc3bbce74df557e419e742c368df1a11f09e24b Mon Sep 17 00:00:00 2001 From: Corran Webster Date: Mon, 19 Dec 2022 10:38:08 +0000 Subject: [PATCH] CI changes for Ubuntu 22.04 (#1186) This PR fixes CI for Ubuntu 22.04 so that it is back into a working state. To this end it: - updates the Qt debian packages - removes the use of GabrielBB/xvfb-action@v1 (xvfb is in the default 22.04 image) - removes linux/wx tests as we don't have a compatible wxpython wheel/egg for ubuntu 22.04/wxPython 4.0 --- .github/workflows/ets-from-source.yml | 20 +++++++++++++++----- .github/workflows/test-with-edm.yml | 20 +++++++++++++++----- 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ets-from-source.yml b/.github/workflows/ets-from-source.yml index ef92b9f85..a5ef5221b 100644 --- a/.github/workflows/ets-from-source.yml +++ b/.github/workflows/ets-from-source.yml @@ -18,6 +18,9 @@ jobs: matrix: os: [ubuntu-latest, macos-latest, windows-latest] toolkit: ['wx', 'pyqt5', 'pyside2'] + exclude: + - os: ubuntu-latest + toolkit: 'wx' runs-on: ${{ matrix.os }} env: # Set root directory, mainly for Windows, so that the EDM Python @@ -30,7 +33,11 @@ jobs: - name: Install Qt dependencies for Linux run: | sudo apt-get update - sudo apt-get install qt5-default + sudo apt-get install qtbase5-dev + sudo apt-get install qtchooser + sudo apt-get install qt5-qmake + sudo apt-get install qtbase5-dev-tools + sudo apt-get install libegl1 sudo apt-get install libxkbcommon-x11-0 sudo apt-get install libxcb-icccm4 sudo apt-get install libxcb-image0 @@ -38,6 +45,7 @@ jobs: sudo apt-get install libxcb-randr0 sudo apt-get install libxcb-render-util0 sudo apt-get install libxcb-xinerama0 + sudo apt-get install libxcb-shape0 sudo apt-get install pulseaudio sudo apt-get install libpulse-mainloop-glib0 shell: bash @@ -62,10 +70,12 @@ jobs: run: edm install -y wheel click coverage - name: Install test environment run: edm run -- python etstool.py install --toolkit=${{ matrix.toolkit }} --source - - name: Run tests - uses: GabrielBB/xvfb-action@v1 - with: - run: edm run -- python etstool.py test --toolkit=${{ matrix.toolkit }} + - name: Run tests (Linux) + if: matrix.os == 'ubuntu-latest' + run: xvfb-run -a edm run -- python etstool.py test --toolkit=${{ matrix.toolkit }} + - name: Run tests (not Linux) + if: matrix.os != 'ubuntu-latest' + run: edm run -- python etstool.py test --toolkit=${{ matrix.toolkit }} notify-on-failure: needs: test-with-edm diff --git a/.github/workflows/test-with-edm.yml b/.github/workflows/test-with-edm.yml index 6f5da199c..62a92a0ef 100644 --- a/.github/workflows/test-with-edm.yml +++ b/.github/workflows/test-with-edm.yml @@ -18,6 +18,9 @@ jobs: matrix: os: [ubuntu-latest, macos-latest, windows-latest] toolkit: ['wx', 'pyqt5', 'pyside2', 'pyside6'] + exclude: + - os: ubuntu-latest + toolkit: 'wx' timeout-minutes: 20 # should be plenty, it's usually < 5 runs-on: ${{ matrix.os }} env: @@ -31,7 +34,11 @@ jobs: - name: Install Qt dependencies for Linux run: | sudo apt-get update - sudo apt-get install qt5-default + sudo apt-get install qtbase5-dev + sudo apt-get install qtchooser + sudo apt-get install qt5-qmake + sudo apt-get install qtbase5-dev-tools + sudo apt-get install libegl1 sudo apt-get install libxkbcommon-x11-0 sudo apt-get install libxcb-icccm4 sudo apt-get install libxcb-image0 @@ -39,6 +46,7 @@ jobs: sudo apt-get install libxcb-randr0 sudo apt-get install libxcb-render-util0 sudo apt-get install libxcb-xinerama0 + sudo apt-get install libxcb-shape0 sudo apt-get install pulseaudio sudo apt-get install libpulse-mainloop-glib0 sudo apt-get install libgstreamer-gl1.0-0 @@ -64,7 +72,9 @@ jobs: run: edm install -y wheel click coverage - name: Install test environment run: edm run -- python etstool.py install --toolkit=${{ matrix.toolkit }} - - name: Run tests - uses: GabrielBB/xvfb-action@v1 - with: - run: edm run -- python etstool.py test --toolkit=${{ matrix.toolkit }} + - name: Run tests (Linux) + if: matrix.os == 'ubuntu-latest' + run: xvfb-run -a edm run -- python etstool.py test --toolkit=${{ matrix.toolkit }} + - name: Run tests (not Linux) + if: matrix.os != 'ubuntu-latest' + run: edm run -- python etstool.py test --toolkit=${{ matrix.toolkit }}