Skip to content

Merge pull request #319 from MannLabs/tests #141

Merge pull request #319 from MannLabs/tests

Merge pull request #319 from MannLabs/tests #141

# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
name: Build and run tests
on:
push:
branches: [ main, development ]
pull_request:
jobs:
pre-commit:
name: Run all pre-commit hooks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
- uses: pre-commit/action@v3.0.1
get-code-review-input:
runs-on: ubuntu-latest
#if: contains(github.event.pull_request.labels.*.name, 'code-review')
steps:
- uses: MannLabs/alphashared/actions/get-code-review-input@v1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_NUMBER: ${{ github.event.number }}
build-and-test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.9", "3.10"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Pip installation
run: |
python -m pip install --upgrade pip
pip install .
- name: Install additional dependencies for tests
run: |
pip install -r requirements_dev.txt
- name: Print pip freeze
run: |
pip freeze
- name: Run notebooks
run: |
python3 -m ipykernel install --user
# TODO add the excluded notebook
TEST_NBS=$(find ./nbs -name "*.ipynb" | grep -v "ramus_2016.ipynb")
python -m pytest --nbmake $(echo $TEST_NBS)
- name: Run tests
run: |
coverage run -m pytest
- name: Upload Coverage to Codecov
uses: codecov/codecov-action@v4