Skip to content

Commit 19ba05e

Browse files
authored
Merge pull request pyqtgraph#3016 from j9ac9k/submit-dash-docset
CI Updates
2 parents 3d9831a + bd65294 commit 19ba05e

File tree

9 files changed

+259
-175
lines changed

9 files changed

+259
-175
lines changed
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
name: check_qt_prereleases
2+
3+
on: workflow_dispatch
4+
5+
env:
6+
PIP_DISABLE_PIP_VERSION_CHECK: 1
7+
8+
concurrency:
9+
group: ${{ github.head_ref || github.run_id }}
10+
cancel-in-progress: true
11+
12+
jobs:
13+
test-qt-prerelease:
14+
runs-on: ${{ matrix.os }}
15+
timeout-minutes: 30
16+
strategy:
17+
fail-fast: false
18+
matrix:
19+
os: [ubuntu-latest, windows-latest, macos-latest]
20+
qt-lib: [pyqt6, pyside]
21+
steps:
22+
- name: Checkout
23+
uses: actions/checkout@v4
24+
- name: "Install Linux VirtualDisplay"
25+
if: runner.os == 'Linux'
26+
run: |
27+
sudo apt-get update -y --allow-releaseinfo-change
28+
sudo apt-get install --no-install-recommends -y \
29+
libxkbcommon-x11-0 \
30+
x11-utils \
31+
libyaml-dev \
32+
libegl1-mesa \
33+
libxcb-icccm4 \
34+
libxcb-image0 \
35+
libxcb-keysyms1 \
36+
libxcb-randr0 \
37+
libxcb-render-util0 \
38+
libxcb-xinerama0 \
39+
libopengl0 \
40+
libxcb-cursor0 \
41+
- name: "Install Windows-Mesa OpenGL DLL"
42+
if: runner.os == 'Windows'
43+
run: |
44+
curl -L --output mesa.7z --url https://github.com/pal1000/mesa-dist-win/releases/download/24.0.6/mesa3d-24.0.6-release-msvc.7z
45+
7z x mesa.7z -o*
46+
powershell.exe mesa\systemwidedeploy.cmd 1
47+
- name: Setup Python
48+
uses: actions/setup-python@v5
49+
with:
50+
python-version: '3.12'
51+
- name: Install PySide6
52+
if: matrix.qt-lib == 'pyside'
53+
run: |
54+
python -m pip install --no-index \
55+
--find-links https://download.qt.io/snapshots/ci/pyside/dev/latest/pyside6/ \
56+
--pre \
57+
PySide6_Essentials
58+
shell: bash
59+
- name: Install PyQt6
60+
if: matrix.qt-lib == 'pyqt6'
61+
run: |
62+
python -m pip install --index-url https://www.riverbankcomputing.com/pypi/simple/ \
63+
--pre \
64+
--only-binary=PyQt6 \
65+
PyQt6
66+
shell: bash
67+
- name: Install Regular Dependencies
68+
run: |
69+
python -m pip install --pre numpy scipy pyopengl pytest .
70+
- name: Install pytest-xvfb
71+
run: |
72+
python -m pip install pytest-xvfb
73+
if: runner.os == 'Linux'
74+
- name: 'Debug Info'
75+
run: |
76+
echo python location: `which python`
77+
echo python version: `python --version`
78+
echo pytest location: `which pytest`
79+
echo installed packages
80+
python -m pip list
81+
echo pyqtgraph system info
82+
python -c "import pyqtgraph as pg; pg.systemInfo()"
83+
shell: bash
84+
env:
85+
QT_DEBUG_PLUGINS: 1
86+
- name: 'XVFB Display Info'
87+
run: |
88+
xvfb-run --server-args="-screen 0, 1920x1200x24 -ac +extension GLX +render -noreset" python -m pyqtgraph.util.glinfo
89+
xvfb-run --server-args="-screen 0, 1920x1200x24 -ac +extension GLX +render -noreset" python -m pyqtgraph.util.get_resolution
90+
if: runner.os == 'Linux'
91+
- name: 'Display Info'
92+
run: |
93+
python -m pyqtgraph.util.glinfo
94+
python -m pyqtgraph.util.get_resolution
95+
if: runner.os != 'Linux'
96+
- name: Run Tests
97+
run: |
98+
mkdir "$SCREENSHOT_DIR"
99+
pytest tests -v
100+
pytest pyqtgraph/examples -v
101+
shell: bash
102+
- name: Upload Screenshots
103+
if: failure()
104+
uses: actions/upload-artifact@v4
105+
with:
106+
name: Screenshots - Qt-Bindings ${{ matrix.qt-lib }} - ${{ matrix.os }})
107+
path: ${{ env.SCREENSHOT_DIR }}
108+
if-no-files-found: ignore
109+
env:
110+
SCREENSHOT_DIR: screenshots

0 commit comments

Comments
 (0)