Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# This workflow will install pydm dependencies and run the test suite for all combinations
# This workflow will install pydm dependencies and run the test suite using PyQt5 for all combinations
# of operating systems and version numbers specified in the matrix

name: Build Status
name: PyQt5 Testing

on:
push:
Expand All @@ -13,7 +13,7 @@ permissions:
contents: read

jobs:
build:
test-pyqt5:
if: ${{ github.repository == 'slaclab/pydm' }}
runs-on: ${{ matrix.os }}
strategy:
Expand Down Expand Up @@ -46,7 +46,7 @@ jobs:
conda-remove-defaults: true
architecture: x64 # Ensure macOS finds PyQt 5.12.3 which isn't available with osx-arm64

- name: Install PyDM with Mamba
- name: Install PyDM with PyQt5
shell: bash -el {0}
run: |
if [ "$RUNNER_OS" == "Windows" ]; then
Expand All @@ -66,7 +66,7 @@ jobs:
pip install .[test-no-optional]
fi

- name: Install packages for testing a PyQt app on Linux
- name: Install packages for testing a PyQt/PySide app on Linux
shell: bash -el {0}
run: |
if [ "$RUNNER_OS" == "Linux" ]; then
Expand Down
84 changes: 84 additions & 0 deletions .github/workflows/run-tests-pyside6.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# This workflow will install pydm dependencies and run the test suite using PySide6 for all combinations
# of operating systems and version numbers specified in the matrix

name: PySide6 Testing

on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]

permissions:
contents: read

jobs:
test-pyside6:
if: ${{ github.repository == 'slaclab/pydm' }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python-version: ["3.12"]

env:
DISPLAY: ':99.0'
QT_MAC_WANTS_LAYER: 1
QT_API: pyside6

steps:
- uses: actions/checkout@v4

- name: Setup conda
uses: conda-incubator/setup-miniconda@v3
with:
python-version: ${{ matrix.python-version }}
miniforge-variant: Miniforge3
miniforge-version: latest
activate-environment: pydm-env
conda-remove-defaults: true
architecture: x64

- name: Install PyDM with PySide6
shell: bash -el {0}
run: |
if [ "$RUNNER_OS" == "Windows" ]; then
conda install -c conda-forge pydm pyside6
elif [ "$RUNNER_OS" == "macOS" ]; then
mamba install -c conda-forge pydm pyside6 git pyca
else
mamba install -c conda-forge pydm pyside6 pyca
fi

- name: Install additional Python dependencies with pip
shell: bash -el {0}
run: |
if [ "$RUNNER_OS" == "Linux" ]; then
pip install .[test]
else
pip install .[test-no-optional]
fi

- name: Install packages for testing a PyQt/PySide app on Linux
shell: bash -el {0}
run: |
if [ "$RUNNER_OS" == "Linux" ]; then
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}
timeout-minutes: 30
continue-on-error: true # remove this once all pyside6 tests pass!
run: |
if [ "$RUNNER_OS" == "macOS" ]; then
python run_tests.py --ignore=pydm/tests/data_plugins/test_p4p_plugin_component.py --ignore=pydm/tests/widgets/test_slider.py # disable just for now, until fix intermittent issue
else
python run_tests.py
fi
Loading