Validation and refactoring of differential expression analysis #408
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://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 tests | |
run: | | |
coverage run -m pytest | |
- name: Upload Coverage to Codecov | |
uses: codecov/codecov-action@v4 | |
- 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) |