Support for Python version 3.12 and 3.13 #110
Workflow file for this run
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
# This workflow will install Python dependencies and perform testing | |
name: Test Printrun | |
on: | |
push: | |
pull_request: | |
jobs: | |
functional_test: | |
name: Functional testing with Python ${{ matrix.python-version }} | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.8", "3.9", "3.10", "3.11"] | |
include: | |
- python-version: "3.8" | |
wxpython-wheel: "ubuntu-22.04/wxPython-4.2.1-cp38-cp38-linux_x86_64.whl" | |
- python-version: "3.9" | |
wxpython-wheel: "ubuntu-22.04/wxPython-4.2.1-cp39-cp39-linux_x86_64.whl" | |
- python-version: "3.10" | |
wxpython-wheel: "ubuntu-22.04/wxPython-4.2.1-cp310-cp310-linux_x86_64.whl" | |
- python-version: "3.11" | |
wxpython-wheel: "ubuntu-22.04/wxPython-4.2.1-cp311-cp311-linux_x86_64.whl" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install system dependencies | |
run: | | |
sudo apt update | |
sudo apt install -y libglib2.0-dev libdbus-1-dev libgtk-3-0 libxxf86vm1 libnotify4 libsdl2-2.0-0 libsm6 libpcre2-32-0 | |
- name: Install Printrun dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install "https://extras.wxpython.org/wxPython4/extras/linux/gtk3/${{ matrix.wxpython-wheel }}" | |
python -m pip install -r requirements.txt | |
- name: Perform functional tests | |
# Simple test that but might be enough to detect regressions | |
# particularly those due to wxPython versions | |
run: | | |
./pronterface.py -h | |
unit_test: | |
name: Unit testing with Python ${{ matrix.python-version }} | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
# Unit testing uses functions not available on Python < 3.11 | |
python-version: ["3.11", "3.12", "3.13"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
allow-prereleases: true | |
- name: Install Printrun dependencies for unit testing | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install pyserial | |
- name: Perform unit tests | |
run: | | |
python -m unittest discover tests |