-
Notifications
You must be signed in to change notification settings - Fork 438
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: Upgrade PyQt5 to PyQt6. #2279
base: master
Are you sure you want to change the base?
Changes from all commits
380cfe2
89163fa
d2dc2ba
2752208
ee1de7a
97ffbb2
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -12,13 +12,7 @@ jobs: | |||||
strategy: | ||||||
matrix: | ||||||
os: [ubuntu-20.04, ubuntu-latest, macos-11, macos-latest, windows-2019, windows-latest] | ||||||
python-version: ['3.5', '3.6', '3.7', '3.8'] | ||||||
exclude: | ||||||
# Python 3.5 and 3.6 not available in the latest Ubuntu runners | ||||||
- os: ubuntu-latest | ||||||
python-version: '3.5' | ||||||
- os: ubuntu-latest | ||||||
python-version: '3.6' | ||||||
python-version: ['3.8', '3.9', '3.10', '3.11'] | ||||||
fail-fast: false | ||||||
runs-on: ${{ matrix.os }} | ||||||
name: Test Py ${{ matrix.python-version }} - ${{ matrix.os }} | ||||||
|
@@ -39,26 +33,32 @@ jobs: | |||||
pip freeze | ||||||
- name: Prepare Ubuntu | ||||||
if: runner.os == 'Linux' | ||||||
# This is needed for PyQt6 to not crash with missing: libEGL.so.1 libGL.so.1 libglib-2.0.so.0 | ||||||
run: | | ||||||
sudo apt-get update | ||||||
sudo apt-get install -y libxkbcommon-x11-0 xvfb | ||||||
sudo apt update | ||||||
sudo apt install -y libegl1 libgl1 libglib2.0-0 | ||||||
- name: Install Mu dependencies | ||||||
run: | | ||||||
pip install .[dev] | ||||||
pip list | ||||||
timeout-minutes: 10 | ||||||
- name: Run tests | ||||||
if: runner.os == 'Linux' | ||||||
run: xvfb-run make check | ||||||
run: QT_QPA_PLATFORM=offscreen python make.py check | ||||||
timeout-minutes: 5 | ||||||
- name: Run tests | ||||||
if: runner.os != 'Linux' | ||||||
run: python make.py check | ||||||
timeout-minutes: 5 | ||||||
|
||||||
test-arm: | ||||||
# Missing Qt6 versions of: python3-pyqt5.qsci python3-pyqt5.qtchart | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Has this situation improved? |
||||||
# Using pip --use-deprecated=legacy-resolver, as it takes too long, revisit after updating dep versions | ||||||
# Also had to force install cryptography, pyzmq, and cffi from piwheels, or it tries to build them from source | ||||||
# Should also revisit if we need all the extra apt packages | ||||||
if: false | ||||||
runs-on: ubuntu-latest | ||||||
name: Test Py 3.7 - arm-debian-buster | ||||||
name: Test Py 3.10 - arm-debian-bookworm | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is bookworm’s default Python 3.10 or 3.11? |
||||||
steps: | ||||||
- uses: actions/checkout@v3 | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
- name: Set up QEMU | ||||||
|
@@ -68,39 +68,42 @@ jobs: | |||||
image: tonistiigi/binfmt:latest | ||||||
platforms: 'linux/arm64,linux/arm/v7,linux/arm/v6' | ||||||
- name: Check Debian image info | ||||||
uses: docker://multiarch/debian-debootstrap:armhf-buster | ||||||
uses: docker://arm32v7/debian:bookworm | ||||||
with: | ||||||
args: /bin/bash -c "uname -a && cat /etc/os-release" | ||||||
args: bash -c "uname -a && cat /etc/os-release" | ||||||
# This is testing armv7, we could create a matrix for armv8 (aarch64) as well | ||||||
- name: Install dependencies and run tests | ||||||
uses: docker://multiarch/debian-debootstrap:armhf-buster | ||||||
uses: docker://arm32v7/debian:bookworm | ||||||
with: | ||||||
args: > | ||||||
bash -c " | ||||||
apt-get update && | ||||||
apt-get install -y python3 python3-pip python3-virtualenv && | ||||||
apt-get install -y python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtserialport python3-pyqt5.qtsvg python3-pyqt5.qtchart && | ||||||
apt-get install -y libxmlsec1-dev libxml2 libxml2-dev libxkbcommon-x11-0 libatlas-base-dev && | ||||||
apt-get install -y git xvfb && | ||||||
apt update && | ||||||
apt install -y python3 python3-pip python3-virtualenv && | ||||||
apt install -y python3-pyqt6 python3-pyqt6.qtserialport python3-pyqt6.qtsvg && | ||||||
apt install -y libxmlsec1-dev libxml2 libxml2-dev libxkbcommon-x11-0 libatlas-base-dev && | ||||||
python3 -m virtualenv venv --python=python3 --system-site-packages && | ||||||
source venv/bin/activate && | ||||||
python -c \"import platform, struct, sys; print(platform.machine(), struct.calcsize('P') * 8, sys.version)\" && | ||||||
python -m pip --version && | ||||||
python -m pip config set global.extra-index-url https://www.piwheels.org/simple && | ||||||
python -m pip config list && | ||||||
python -m pip list && | ||||||
python -m pip install .[dev] && | ||||||
python -m pip install cryptography pyzmq cffi --python-version 3.9 --only-binary \":all:\" --no-deps --target venv/lib/python3.10/site-packages/ && | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This line creates a Py3.9 binary and puts into the Py3.10 site packages? |
||||||
python -m pip install .[dev] --use-deprecated=legacy-resolver && | ||||||
python -m pip list && | ||||||
QT_QPA_PLATFORM=\"offscreen\" && | ||||||
xvfb-run python make.py check && | ||||||
python make.py check && | ||||||
echo 'Finished successfully! :)' | ||||||
" | ||||||
|
||||||
test-pios: | ||||||
# Pi OS images don't have python3-pyqt6 packages, so will have to enable and update in the future | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Has this situation improved? |
||||||
if: false | ||||||
name: Test PiOS ${{ matrix.docker-tag }} | ||||||
runs-on: ubuntu-latest | ||||||
strategy: | ||||||
matrix: | ||||||
docker-tag: ['stretch-2018-03-13', 'buster-2021-05-28', 'buster-legacy-2022-04-07'] | ||||||
docker-tag: ['buster-2021-05-28', 'buster-legacy-2022-04-07'] | ||||||
fail-fast: false | ||||||
services: | ||||||
rpios: | ||||||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.