Skip to content

tkinter minimal

tkinter minimal #65

# 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__)"