DMG Workflow macos-15 (#39) #151
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Python Tests with PyQt6 | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
jobs: | |
test: | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 10 | |
strategy: | |
matrix: | |
python-version: ['3.10'] | |
os: [ ubuntu-latest ] # [macos-latest, ubuntu-latest, windows-latest] | |
env: | |
DISPLAY: ":99.0" # Display setting for Xvfb on Linux | |
QT_SELECT: "qt6" # Environment variable to select Qt6 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Setup xvfb (Linux) | |
if: runner.os == 'Linux' | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y xvfb \ | |
libxkbcommon-x11-0 \ | |
libxcb-icccm4 \ | |
libxcb-image0 \ | |
libxcb-keysyms1 \ | |
libxcb-randr0 \ | |
libxcb-render-util0 \ | |
libxcb-xinerama0 \ | |
libxcb-xinput0 \ | |
libxcb-xfixes0 \ | |
libxcb-shape0 \ | |
libglib2.0-0 \ | |
libgl1-mesa-dev \ | |
'^libxcb.*-dev' \ | |
libx11-xcb-dev \ | |
libglu1-mesa-dev \ | |
libxrender-dev \ | |
libxi-dev \ | |
libxkbcommon-dev \ | |
libxkbcommon-x11-dev \ | |
libsecp256k1-0 | |
sudo /usr/bin/Xvfb $DISPLAY -screen 0 1280x1024x24 & | |
- name: Start Xvfb | |
if: runner.os == 'Linux' | |
run: | | |
export DISPLAY=:99.0 | |
/sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -screen 0 1920x1200x24 -ac +extension GLX +render -noreset | |
sleep 3 | |
sleep 1 | |
- name: Install Python dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install poetry | |
poetry install | |
- name: Run General Tests | |
run: | | |
poetry run pytest -m 'not marker_qt_1 and not marker_qt_2' -vvv --log-cli-level=DEBUG --setup-show --maxfail=1 | |
- name: Run Tests for marker_qt_1 | |
run: | | |
poetry run pytest -m 'marker_qt_1' -vvv --log-cli-level=DEBUG --setup-show --maxfail=1 | |
- name: Run Tests for marker_qt_2 | |
run: | | |
poetry run pytest -m 'marker_qt_2' -vvv --log-cli-level=DEBUG --setup-show --maxfail=1 | |
- name: Upload output Files from tests/output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: test-output | |
path: tests/output |