tkinter minimal #65
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
# Installs the Python dependencies, installs MyoFInDer, and checks that it works as expected | |
name: Test Python Package | |
on: | |
# Runs on pull requests targeting the default branch | |
pull_request: | |
types: [opened, edited, reopened, synchronize] | |
branches: ["main"] | |
# May also be started manually | |
workflow_dispatch: | |
# Runs automatically every first day of the month | |
schedule: | |
- cron: '0 12 1 * *' | |
jobs: | |
test-python-package: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
# Run on all the supported Python versions | |
python-version: ["3.7", "3.8", "3.9", "3.10"] | |
# Run on all the supported platforms | |
os: [ubuntu-latest, windows-latest, macos-13] | |
steps: | |
# Checkout the repository | |
- name: Checkout | |
uses: actions/checkout@v4 | |
# Set up the correct version of Python | |
- name: Set up Python ${{ matrix.python-version }} on ${{ matrix.os }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
# Install the build dependencies | |
- name: Install Dependencies | |
run: python -m pip install --upgrade pip wheel build setuptools | |
# Install the MyoFInDer Python module | |
- name: Install MyoFInDer | |
run: python -m pip install . | |
# On Windows, MyoFInDer can run even though there is no graphical environment | |
# Running the unit tests to check that everything's working as expected | |
- name: Test MyoFInDer (Windows) | |
if: runner.os == 'Windows' | |
run: python -m unittest -v tests | |
# On Linux, the Xvfb virtual X server can be used | |
# Therefore, it is possible to run the automated test suite | |
- name: Import MyoFInDer (Linux) | |
if: runner.os == 'Linux' | |
run: | | |
export DISPLAY=:99 | |
Xvfb :99 -screen 0 1920x1080x24 & python -m unittest -v tests | |
# On macOS, it is not possible to set up a virtual graphical environment | |
# Therefore, no automated tests can be run on macOS | |
# Also, tkinter needs to be separately configured, but python-tk is only available for Python 3.9 and 3.10 | |
- name: Import MyoFInDer (macOS <3.9) | |
if: | | |
runner.os == 'macOS' && | |
contains(fromJSON('["3.7", "3.8"]'), matrix.python-version) | |
run: | | |
brew install tcl-tk | |
brew install [email protected] | |
python -c "import myofinder;print(myofinder.__version__)" | |
- name: Import MyoFInDer (macOS 3.9+) | |
if: | | |
runner.os == 'macOS' && | |
contains(fromJSON('["3.9", "3.10"]'), matrix.python-version) | |
run: | | |
brew install tcl-tk | |
brew install python-tk@${{ matrix.python-version }} | |
python -c "import myofinder;print(myofinder.__version__)" |