[DRAFT] Possible implementation of Gotman #590
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_suite | |
on: | |
# push: | |
# branches: [ '**' ] | |
pull_request: | |
branches: [ '**' ] | |
create: | |
branches: [ master ] | |
tags: [ '**' ] | |
schedule: | |
- cron: "0 4 * * *" | |
jobs: | |
style: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: [ 3.8 ] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v1 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install pipenv | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install --upgrade pipenv wheel | |
python -m pip install pipfile-requirements | |
- id: cache-pipenv | |
uses: actions/cache@v1 | |
with: | |
path: ~/.local/share/virtualenvs | |
key: ${{ runner.os }}-pipenv-${{ hashFiles('**/Pipfile.lock') }} | |
- name: Install dependencies | |
if: steps.cache-pipenv.outputs.cache-hit != 'true' | |
run: | | |
pipfile2req > requirements.txt --dev | |
pip install -r requirements.txt | |
- name: Display versions and environment information | |
run: | | |
python --version | |
which python | |
- name: Run style & documentation tests | |
run: make pep | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ ubuntu-latest, macos-latest ] | |
python-version: [ 3.6, 3.7, 3.8, 3.9 ] | |
steps: | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v1 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Update pip and wheel | |
run: python -m pip install --upgrade pip wheel pipenv | |
- uses: actions/checkout@v2 | |
- name: Build sdist | |
run: python setup.py sdist | |
- name: Install sdist | |
run: pip install ./dist/mne-hfo-* | |
- name: Clean up working directory | |
run: rm -rf ./* | |
- name: Try importing mne_hfo | |
run: python -c 'import mne_hfo; print(mne_hfo.__version__)' | |
- name: Remove sdist install | |
run: pip uninstall -y mne-hfo | |
- uses: actions/checkout@v2 | |
- name: Build wheel | |
run: python setup.py bdist_wheel | |
- name: Install wheel | |
run: pip install ./dist/mne_hfo-*.whl | |
- name: Clean up working directory | |
run: rm -rf ./* | |
- name: Try importing mne_hfo | |
run: python -c 'import mne_hfo; print(mne_hfo.__version__)' | |
- name: Remove wheel install | |
run: pip uninstall -y mne-hfo | |
- uses: actions/checkout@v2 | |
- name: Test extras install | |
run: | | |
pip install .[full] | |
python -c 'import mne_hfo; print(mne_hfo.__version__)' | |
test: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ ubuntu-latest, macos-latest ] | |
python-version: [ 3.8, 3.9 ] | |
env: | |
TZ: Europe/Berlin | |
FORCE_COLOR: true | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v1 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install Python dependencies using pipenv | |
run: | | |
python -m pip install --upgrade pip wheel pipenv | |
python -m pip install pipfile-requirements | |
- id: cache-pipenv | |
uses: actions/cache@v1 | |
with: | |
path: ~/.local/share/virtualenvs | |
key: ${{ runner.os }}-pipenv-${{ hashFiles('**/Pipfile.lock') }} | |
- name: Install dependencies | |
if: steps.cache-pipenv.outputs.cache-hit != 'true' | |
run: | | |
pip install -r requirements.txt | |
pip install -r test_requirements.txt | |
- name: Display versions and environment information | |
run: | | |
echo $TZ | |
date | |
python --version | |
which python | |
python -c "import mne; mne.sys_info()" | |
- name: Install MNE-HFO | |
run: pip install --no-deps . | |
- name: Run pytest | |
run: | | |
python -m pytest . --cov=mne_hfo --cov-report=xml --cov-config=setup.cfg --verbose --ignore mne-python | |
shell: bash | |
- name: Upload coverage stats to codecov | |
if: "matrix.os == 'ubuntu-latest'" | |
uses: codecov/codecov-action@v1 | |
with: | |
file: ./coverage.xml |