Update README.rst #1
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: Test | |
on: | |
push: | |
branches: [ master, develop ] | |
pull_request: | |
branches: [ master, develop ] | |
jobs: | |
test: | |
name: ${{ matrix.os }}, py-${{ matrix.python_version }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, windows-latest, macOS-latest] | |
python_version: [3.7] | |
include: | |
- os: ubuntu-latest | |
python_version: 3.8 | |
# Experimental: Python 3.9 | |
# Works fine, commented out because mostly covered (at least installing/building deps) by the typecheck job | |
# See issue: https://github.com/NeuroTechX/eeg-notebooks/issues/50 | |
#- os: ubuntu-latest | |
# python_version: 3.9 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python | |
uses: actions/setup-python@v1 | |
with: | |
python-version: ${{ matrix.python_version }} | |
# Not needed if pywinhook is installed from wheels | |
#- name: Install swig | |
# if: "startsWith(runner.os, 'windows')" | |
# run: | | |
# (New-Object System.Net.WebClient).DownloadFile("http://prdownloads.sourceforge.net/swig/swigwin-4.0.1.zip","swigwin-4.0.1.zip"); | |
# Expand-Archive .\swigwin-4.0.1.zip .; | |
# echo "$((Get-Item .).FullName)/swigwin-4.0.1" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
- name: Install APT dependencies | |
if: "startsWith(runner.os, 'Linux')" | |
run: | | |
# update archive links | |
sudo apt-get update | |
# xvfb is a dependency to create a virtual display | |
# libgtk-3-dev is a requirement for wxPython | |
# freeglut3-dev is a requirement for a wxPython dependency | |
sudo apt-get -y install xvfb libgtk-3-dev freeglut3-dev | |
- name: Install Linux dependencies | |
if: "startsWith(runner.os, 'Linux')" | |
run: | | |
python -m pip install --upgrade pip wheel | |
# Install wxPython wheels since they are distribution-specific and therefore not on PyPI | |
# See: https://wxpython.org/pages/downloads/index.html | |
pip install -U -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04 wxPython | |
pip install . | |
- name: Install MacOS/Windows dependencies | |
run: | | |
python -m pip install --upgrade pip wheel | |
pip install . | |
pip install -U psychtoolbox # JG_ADD | |
# EB: needed? | |
- name: Run eegnb install test | |
shell: bash | |
run: | | |
if [ "$RUNNER_OS" == "Linux" ]; then | |
Xvfb :0 -screen 0 1024x768x24 -ac +extension GLX +render -noreset &> xvfb.log & | |
export DISPLAY=:0 | |
fi | |
eegnb --help | |
eegnb runexp --help | |
- name: Run examples with coverage | |
shell: bash | |
run: | | |
if [ "$RUNNER_OS" == "Linux" ]; then | |
Xvfb :0 -screen 0 1024x768x24 -ac +extension GLX +render -noreset &> xvfb.log & | |
export DISPLAY=:0 | |
fi | |
pytest | |
typecheck: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] | |
python_version: [3.9] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python | |
uses: actions/setup-python@v1 | |
with: | |
python-version: ${{ matrix.python_version }} | |
- name: Install APT dependencies | |
if: "startsWith(runner.os, 'Linux')" | |
run: | | |
# update archive links | |
sudo apt-get update | |
# xvfb is a dependency to create a virtual display | |
# libgtk-3-dev is a requirement for wxPython | |
# freeglut3-dev is a requirement for a wxPython dependency | |
sudo apt-get -y install xvfb libgtk-3-dev freeglut3-dev | |
- name: Install Linux dependencies | |
if: "startsWith(runner.os, 'Linux')" | |
run: | | |
python -m pip install --upgrade pip wheel | |
# Install wxPython wheels since they are distribution-specific and therefore not on PyPI | |
# See: https://wxpython.org/pages/downloads/index.html | |
pip install -U -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04 wxPython | |
pip install . | |
- name: Install MacOS/Windows dependencies | |
run: | | |
python -m pip install --upgrade pip wheel | |
pip install . | |
- name: Typecheck | |
run: | | |
# Exclude visual_cueing due to errors | |
python -m mypy --exclude 'examples/visual_cueing' |