From a00a4d785fa70d4c9767f2fbe4122e0cfe543893 Mon Sep 17 00:00:00 2001 From: nstelter-slac Date: Mon, 6 Jan 2025 11:57:58 -0800 Subject: [PATCH 1/2] MNT: make gh actions setup use conda and pip to install packages Before it was using the pip '.txt' package files to install things using conda instead. But this doesn't mimic how users locally install packages with conda+pip, and some packages in coda (ex=p4p) are outdated compared to pip. --- .github/workflows/run-tests.yml | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 87c235d8f..65e7192b8 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -35,26 +35,35 @@ jobs: miniforge-variant: Miniforge3 miniforge-version: latest activate-environment: pydm-env - - name: Install python packages + + - name: Install PyDM with Mamba + shell: bash -el {0} + run: | + mamba install -c conda-forge pydm pyqt=${{ matrix.pyqt-version }} + + - name: Install additional Python dependencies with pip shell: bash -el {0} run: | + pip install -r requirements.txt if [ "$RUNNER_OS" == "Windows" ]; then - mamba install pyqt=${{ matrix.pyqt-version }} - mamba install --file requirements.txt --file windows-dev-requirements.txt + pip install -r windows-dev-requirements.txt else - mamba install pyqt=${{ matrix.pyqt-version }} $(cat requirements.txt dev-requirements.txt) + pip install -r dev-requirements.txt fi - - name: Install packages for testing a pyqt app on linux + + - name: Install packages for testing a PyQt app on Linux shell: bash -el {0} run: | if [ "$RUNNER_OS" == "Linux" ]; then - sudo apt install xvfb herbstluftwm libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 x11-utils + sudo apt update + sudo apt install -y xvfb herbstluftwm libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 x11-utils sudo /sbin/start-stop-daemon --start --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -screen 0 1024x768x24 -ac +extension GLX +render -noreset sleep 3 sudo /sbin/start-stop-daemon --start --pidfile /tmp/custom_herbstluftwm_99.pid --make-pidfile --background --exec /usr/bin/herbstluftwm sleep 1 fi + - name: Test with pytest shell: bash -el {0} run: | - python run_tests.py + python run_tests.py \ No newline at end of file From f3d815ab86ed2dd8adf76883d2b4d8ad4d95c2f6 Mon Sep 17 00:00:00 2001 From: nstelter-slac Date: Tue, 7 Jan 2025 11:06:51 -0800 Subject: [PATCH 2/2] MNT: support python 3.9+, since 3.8 and older are at end-of-life Update docs, conda recipe, and automated tests. --- .github/workflows/run-tests.yml | 2 +- README.md | 2 +- conda-recipe/meta.yaml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 65e7192b8..b2ef7c864 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -20,7 +20,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] - python-version: ['3.8', '3.9', '3.10'] + python-version: ['3.9', '3.10'] pyqt-version: [5.12.3, 5.15.9] env: DISPLAY: ':99.0' diff --git a/README.md b/README.md index 1a71f6a16..cc58e6c31 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ as the abstraction layer for the Qt Python wrappers (PyQt5/PyQt4/PySide2/PySide) **All tests are performed with PyQt5**. # Prerequisites -* Python 3.7+ +* Python 3.9+ * Qt 5.6 or higher * qtpy * PyQt5 >= 5.7 or any other Qt Python wrapper. diff --git a/conda-recipe/meta.yaml b/conda-recipe/meta.yaml index 4a13dbe23..1d5a69b8f 100644 --- a/conda-recipe/meta.yaml +++ b/conda-recipe/meta.yaml @@ -14,13 +14,13 @@ build: requirements: host: - - python + - python >=3.9 - pip - setuptools - pyqt =5 - qtpy run: - - python + - python >=3.9 - six - numpy - scipy