Skip to content

Commit

Permalink
fix: trying things out
Browse files Browse the repository at this point in the history
  • Loading branch information
WeisLeDocto committed Dec 2, 2024
1 parent 548a185 commit df2d1c5
Showing 1 changed file with 17 additions and 84 deletions.
101 changes: 17 additions & 84 deletions .github/workflows/test_python_package.yml
Original file line number Diff line number Diff line change
@@ -1,91 +1,24 @@
# 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]

minimal:
runs-on: 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: Workaround (macOS <3.9)
if: |
runner.os == 'macOS' &&
contains(fromJSON('["3.7", "3.8"]'), matrix.python-version)
run: |
brew install tcl-tk
version=$(brew info tcl-tk --json | jq -r '.[].installed[].version')
echo $version
ln -s /usr/local/Cellar/tcl-tk/$version/lib/libtcl8.6.dylib /usr/local/lib/libtcl8.6.dylib
ln -s /usr/local/Cellar/tcl-tk/$version/lib/libtk8.6.dylib /usr/local/lib/libtk8.6.dylib
- name: Import MyoFInDer (macOS <3.9)
if: |
runner.os == 'macOS' &&
contains(fromJSON('["3.7", "3.8"]'), matrix.python-version)
run: |
brew install [email protected]
python -c "import myofinder;print(myofinder.__version__)"
- name: Workaround (macOS 3.9+)
if: |
runner.os == 'macOS' &&
contains(fromJSON('["3.9", "3.10"]'), matrix.python-version)
run: |
brew install tcl-tk
version=$(brew info tcl-tk --json | jq -r '.[].installed[].version')
echo $version
ln -s /usr/local/Cellar/tcl-tk/$version/lib/libtcl8.6.dylib /usr/local/lib/libtcl8.6.dylib
ln -s /usr/local/Cellar/tcl-tk/$version/lib/libtk8.6.dylib /usr/local/lib/libtk8.6.dylib
- name: Import MyoFInDer (macOS 3.9+)
if: |
runner.os == 'macOS' &&
contains(fromJSON('["3.9", "3.10"]'), matrix.python-version)
run: |
brew install python-tk@${{ matrix.python-version }}
python -c "import myofinder;print(myofinder.__version__)"
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install tcl/tk
run: brew install tcl-tk
- name: Symlink tcl/tk
run: |
version=$(brew info tcl-tk --json | jq -r '.[].installed[].version')
ln -s /usr/local/Cellar/tcl-tk/$version/lib/libtcl8.6.dylib /usr/local/lib/libtcl8.6.dylib
ln -s /usr/local/Cellar/tcl-tk/$version/lib/libtk8.6.dylib /usr/local/lib/libtk8.6.dylib
- name: Install python-tk
run: brew install python-tk@$3.10
- name: import tkinter
run: python -c "import tkinter"

0 comments on commit df2d1c5

Please sign in to comment.