Skip to content

Commit 06ba03b

Browse files
authored
Merge branch 'master' into coverage_update
2 parents 7c20c2d + b3b222a commit 06ba03b

File tree

115 files changed

+2300
-1215
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

115 files changed

+2300
-1215
lines changed

.git-blame-ignore-revs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# setup pre-commit
2+
a098b2819173fb56a6f479df9b29ef76d2b63d56

.github/workflows/ci.yml

Lines changed: 43 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ on:
1313
- main
1414
- '*.x'
1515

16+
concurrency:
17+
group: test-${{ github.ref }}
18+
cancel-in-progress: true
19+
1620
jobs:
1721
test:
1822
name: Test ${{ matrix.os }} Python ${{ matrix.python-version }} conda=${{ matrix.use-conda }}
@@ -34,6 +38,7 @@ jobs:
3438
PYSIDE6_VERSION: ${{ matrix.pyside6-version || matrix.qt6-version-default }}
3539
PYSIDE6_QT_VERSION: ${{ matrix.pyside6-qt-version || matrix.pyside6-version || matrix.qt6-version-default }}
3640
QSCINTILLA_VERSION: ${{ matrix.qscintilla-version || matrix.qscintilla-version-default }}
41+
PYQT_EXTRAS: ${{ matrix.pyqt-extras || matrix.pyqt-extras-default }}
3742
SKIP_PIP_CHECK: ${{ matrix.skip-pip-check }}
3843
strategy:
3944
fail-fast: false
@@ -44,30 +49,34 @@ jobs:
4449
qt5-version-default: ['5.12']
4550
qt6-version-default: ['6.3']
4651
qscintilla-version-default: ['2.13']
52+
pyqt-extras-default: ['No']
4753
include:
4854
- os: ubuntu-latest
4955
special-invocation: 'xvfb-run --auto-servernum ' # Needed for GUI tests to work
5056
- python-version: '3.11'
5157
pyqt5-version: '5.15' # Python 3.11 needs 5.15+
5258
pyside2-version: '5.15' # Python 3.11 needs 5.15+
53-
pyside6-version: '6.4' # Python 3.11 needs 6.4+
59+
pyside6-version: '6.5' # Python 3.11 needs 6.4+. Test upper bound
5460
- use-conda: 'Yes'
5561
skip-pyqt6: true # No PyQt6 conda packages yet
56-
pyside6-version: '6.4' # Conda only has 6.4+
5762
- use-conda: 'No'
5863
pyqt5-version: '5.15' # Test with latest optional packages
5964
- python-version: '3.7'
6065
use-conda: 'Yes'
6166
pyside2-version: '5.13' # Conda needs 5.13+ to work reliably
6267
pyside2-qt-version: '5.12' # Conda only has 5.12 and 5.15, not 5.13
68+
pyside6-version: '6.4' # Conda only has 6.4 for Python <3.8
6369
- python-version: '3.11'
6470
use-conda: 'No'
71+
pyqt-extras: 'Yes' # Check PyQt extras
6572
skip-pyside2: true # Pyside2 wheels don't support Python 3.11+
73+
pyqt6-version: '6.5' # Test upper bound
74+
pyside6-version: '6.5' # Test upper bound
6675
- os: windows-latest
6776
python-version: '3.7'
6877
use-conda: 'Yes'
6978
pyqt5-version: '5.9' # Test lower bound
70-
skip-pyside6: true # Test hangs
79+
skip-pyside6: true # Test hangs with 6.4. 6.5 is not available for Python 3.7
7180
- os: windows-latest
7281
python-version: '3.7'
7382
use-conda: 'No'
@@ -76,13 +85,40 @@ jobs:
7685
- os: windows-latest
7786
python-version: '3.11'
7887
use-conda: 'Yes'
79-
skip-pyside6: true # Test hangs
88+
pyside6-version: 6.5 # Test upper bound
8089
- os: macos-latest
81-
python-version: '3.7'
90+
python-version: '3.11'
8291
use-conda: 'No'
83-
pyqt6-version: 6.4 # Test upper bound
92+
pyqt6-version: 6.5 # Test upper bound
8493
pyside2-version: 5.15 # Test upper bound
8594
steps:
95+
- name: Check job values
96+
run: |
97+
echo "---- General setup"
98+
echo "OS:" ${{ matrix.os }}
99+
echo "PYTHON_VERSION:" ${{ env.PYTHON_VERSION }}
100+
echo "USE_CONDA:" ${{ env.USE_CONDA }}
101+
echo "---- PyQt"
102+
echo "PYQT_EXTRAS:" ${{ env.PYQT_EXTRAS }}
103+
echo "---- PyQt5"
104+
echo "SKIP_PYQT5:" ${{ matrix.skip-pyqt5 }}
105+
echo "PYQT5_VERSION:" ${{ env.PYQT5_VERSION }}
106+
echo "PYQT5_QT_VERSION:" ${{ env.PYQT5_QT_VERSION }}
107+
echo "QSCINTILLA_VERSION:" ${{ env.QSCINTILLA_VERSION }}
108+
echo "---- PyQt6"
109+
echo "SKIP_PYQT6:" ${{ matrix.skip-pyqt6 }}
110+
echo "PYQT6_VERSION:" ${{ env.PYQT6_VERSION }}
111+
echo "PYQT6_QT_VERSION:" ${{ env.PYQT6_QT_VERSION }}
112+
echo "---- PySide2"
113+
echo "SKIP_PYSIDE2:" ${{ matrix.skip-pyside2 }}
114+
echo "PYSIDE2_VERSION:" ${{ env.PYSIDE2_VERSION }}
115+
echo "PYSIDE2_QT_VERSION:" ${{ env.PYSIDE2_QT_VERSION }}
116+
echo "---- PySide6"
117+
echo "SKIP_PYSIDE6:" ${{ matrix.skip-pyside6 }}
118+
echo "PYSIDE6_VERSION:" ${{ env.PYSIDE6_VERSION }}
119+
echo "PYSIDE6_QT_VERSION:" ${{ env.PYSIDE6_QT_VERSION }}
120+
echo "---- Other"
121+
echo "SKIP_PIP_CHECK:" ${{ env.SKIP_PIP_CHECK }}
86122
- name: Checkout branch
87123
uses: actions/checkout@v3
88124
- name: Setup Python
@@ -95,6 +131,7 @@ jobs:
95131
run: |
96132
sudo apt update
97133
sudo apt install libpulse-dev libegl1-mesa libopengl0 gstreamer1.0-gl
134+
- uses: tlambert03/setup-qt-libs@v1
98135
- name: Install Conda
99136
uses: conda-incubator/setup-miniconda@v2
100137
with:

.github/workflows/test.sh

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,39 @@ conda activate test-env-${BINDING}
3434
if [ "$USE_CONDA" = "No" ]; then
3535

3636
if [ "${1}" = "pyqt5" ]; then
37-
pip install pyqt5==${PYQT5_VERSION}.* PyQtWebEngine==${PYQT5_VERSION}.* QScintilla==${QSCINTILLA_VERSION}.*
37+
38+
if [ "$PYQT_EXTRAS" = "Yes" ]; then
39+
pip install pyqt5==${PYQT5_VERSION}.* \
40+
PyQtWebEngine==${PYQT5_VERSION}.* \
41+
QScintilla==${QSCINTILLA_VERSION}.* \
42+
PyQt3D==${PYQT5_VERSION}.* \
43+
PyQtChart==${PYQT5_VERSION}.* \
44+
PyQtDataVisualization==${PYQT5_VERSION}.* \
45+
PyQtNetworkAuth==${PYQT5_VERSION}.* \
46+
PyQtPurchasing==${PYQT5_VERSION}.*
47+
else
48+
pip install pyqt5==${PYQT5_VERSION}.* \
49+
PyQtWebEngine==${PYQT5_VERSION}.* \
50+
QScintilla==${QSCINTILLA_VERSION}.*
51+
fi
52+
3853
elif [ "${1}" = "pyqt6" ]; then
39-
pip install pyqt6==${PYQT6_VERSION}.* PyQt6-WebEngine==${PYQT6_VERSION}.* PyQt6-Qt6==${PYQT6_QT_VERSION}.* PyQt6-QScintilla==${QSCINTILLA_VERSION}.*
54+
55+
if [ "$PYQT_EXTRAS" = "Yes" ]; then
56+
pip install pyqt6==${PYQT6_VERSION}.* \
57+
PyQt6-WebEngine==${PYQT6_VERSION}.* \
58+
PyQt6-Qt6==${PYQT6_QT_VERSION}.* \
59+
PyQt6-QScintilla \
60+
PyQt6-3D==${PYQT6_VERSION}.* \
61+
PyQt6-Charts==${PYQT6_VERSION}.* \
62+
PyQt6-DataVisualization==${PYQT6_VERSION}.* \
63+
PyQt6-NetworkAuth==${PYQT6_VERSION}.*
64+
else
65+
pip install pyqt6==${PYQT6_VERSION}.* \
66+
PyQt6-WebEngine==${PYQT6_VERSION}.* \
67+
PyQt6-Qt6==${PYQT6_QT_VERSION}.*
68+
fi
69+
4070
elif [ "${1}" = "pyside2" ]; then
4171
pip install pyside2==${PYSIDE2_VERSION}.*
4272
elif [ "${1}" = "pyside6" ]; then
@@ -53,11 +83,12 @@ fi
5383

5484
# Build wheel of package
5585
git clean -xdf -e *.coverage
86+
python -m pip install --upgrade pip
5687
python -m pip install --upgrade build
5788
python -bb -X dev -W error -m build
5889

5990
# Install package from built wheel
60-
echo dist/*.whl | xargs -I % python -bb -X dev -W error -W "ignore::DeprecationWarning:pip._internal.locations._distutils" -W "ignore::DeprecationWarning:distutils.command.install" -m pip install --upgrade %
91+
echo dist/*.whl | xargs -I % python -bb -X dev -W error -W "ignore::DeprecationWarning:pip._internal.locations._distutils" -W "ignore::DeprecationWarning:distutils.command.install" -W "ignore::DeprecationWarning:pip._internal.metadata.importlib._envs" -m pip install --upgrade %
6192

6293
# Print environment information
6394
mamba list

0 commit comments

Comments
 (0)