VEP calibration #560
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, run tests and lint with a variety of Python versions | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions | |
name: BciPy | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- '**' | |
jobs: | |
build-ubuntu: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: [3.8, 3.9] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Update OS, pip & install custom dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install libgtk-3-dev | |
sudo apt-get install freeglut3-dev | |
sudo apt-get install freetype* | |
sudo apt-get install portaudio* | |
sudo apt-get install libsndfile* | |
sudo apt-get install xvfb | |
python -m pip install --upgrade pip | |
pip install kenlm==0.1 --global-option="--max_order=12" | |
pip install psychopy==2023.2.1 --no-deps | |
pip install attrdict3 | |
- name: Install dependencies | |
run: | | |
pip install -r dev_requirements.txt | |
pip install -e . | |
- name: Unit test | |
if: always() | |
run: | | |
set +e | |
xvfb-run coverage run --branch --source=bcipy -m pytest --mpl -k "not slow" | |
if [ $? -eq 0 ] | |
then | |
echo "Ubuntu run complete!" | |
elif [ $? -eq 134 ] | |
then | |
echo "Ubuntu tests run successfully, memory issues may be present" | |
exit 0 | |
else | |
echo "Ubuntu test failure" | |
fi | |
- name: type-check | |
run: | | |
mypy bcipy | |
- name: lint | |
run: | | |
flake8 bcipy | |
build-windows: | |
runs-on: windows-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: [3.8, 3.9] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: update pip & install custom dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install kenlm==0.1 --global-option="--max_order=12" | |
pip install psychopy==2023.2.1 --no-deps | |
- name: install manually downloaded pyWinhook wheel for Python 3.9 | |
if: matrix.python-version == 3.9 | |
run: | | |
pip install ./.bcipy/downloads/pyWinhook-1.6.2-cp39-cp39-win_amd64.whl | |
- name: install dependencies | |
run: | | |
pip install -r dev_requirements.txt | |
pip install -e . | |
- name: unittest | |
if: always() | |
run: | | |
coverage run --branch --source=bcipy -m pytest --mpl -k "not slow" | |
- name: type-check | |
run: | | |
mypy bcipy | |
- name: lint | |
run: | | |
flake8 bcipy | |
build-macos: | |
runs-on: macos-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: [3.8, 3.9] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: update pip & install custom dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install kenlm==0.1 --global-option="--max_order=12" | |
pip install psychopy==2023.2.1 --no-deps | |
- name: install dependencies | |
run: | | |
pip install -r dev_requirements.txt | |
pip install -e . | |
- name: unittest | |
if: always() | |
run: | | |
coverage run --branch --source=bcipy -m pytest --mpl -k "not slow" | |
coverage report | |
- name: type-check | |
run: | | |
mypy bcipy | |
- name: lint | |
run: | | |
flake8 bcipy | |