Skip to content

Change workflow name #344

Change workflow name

Change workflow name #344

Workflow file for this run

name: CI Pipeline
on:
pull_request:
branches:
- main
- release
jobs:
tests:
runs-on: self-hosted
timeout-minutes: 60
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: setup python
uses: actions/setup-python@v5
with:
python-version: 3.11.8
- name: Install dependencies
run: |
pip install -r requirements-dev.txt
pip install .
# First download before tests as they make use of the downloaded files
- name: Download all files
run: |
python ci/download_all.py
- name: Execute unittests
run: |
pytest --cov-report=html:html_cov --cov-branch --cov-report term --cov=helical ci/
- name: Upload coverage report
uses: actions/upload-artifact@v4
with:
name: coverage-report
path: html_cov/
# Does not seem to work but would be nice to have
# - name: Pytest coverage comment
# uses: MishaKav/pytest-coverage-comment@main
# with:
# pytest-coverage-path: ./pytest-coverage.txt
# junitxml-path: ./pytest.xml
- name: Execute Geneformer v1
run: |
python examples/run_models/run_geneformer.py ++model_name="gf-12L-30M-i2048"
- name: Execute Geneformer v2
run: |
python examples/run_models/run_geneformer.py ++model_name="gf-12L-95M-i4096"
- name: Execute scGPT
run: |
python examples/run_models/run_scgpt.py
- name: Execute UCE
run: |
python examples/run_models/run_uce.py
- name: Execute Hyena
run: |
python examples/run_models/run_hyena_dna.py
- name: Execute benchmarking
run: |
pip install scanorama
python examples/run_benchmark.py
notebooks:
needs: tests
runs-on: self-hosted
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: setup python
uses: actions/setup-python@v5
with:
python-version: 3.11.8
- name: Install dependencies
run: |
pip install -r requirements-dev.txt
- name: Reduce datasets to speedup checks
run: |
sed -i 's/train\[:65%\]/train\[:5%\]/g' ./examples/notebooks/Cell-Type-Annotation.ipynb
sed -i 's/train\[70%:\]/train\[5%:7%\]/g' ./examples/notebooks/Cell-Type-Annotation.ipynb
sed -i 's/get_anndata_from_hf_dataset(ds\[\\"train\\"\])/get_anndata_from_hf_dataset(ds\[\\"train\\"\])[:10]/g' ./examples/notebooks/Cell-Type-Classification-Fine-Tuning.ipynb
sed -i 's/get_anndata_from_hf_dataset(ds\[\\"test\\"\])/get_anndata_from_hf_dataset(ds\[\\"test\\"\])[:2]/g' ./examples/notebooks/Cell-Type-Classification-Fine-Tuning.ipynb
sed -i 's/list(np.array(train_dataset.obs\[\\"LVL1\\"].tolist()))/list(np.array(train_dataset.obs\[\\"LVL1\\"].tolist()))[:10]/g' ./examples/notebooks/Cell-Type-Classification-Fine-Tuning.ipynb
sed -i 's/list(np.array(test_dataset.obs\[\\"LVL1\\"].tolist()))/list(np.array(test_dataset.obs\[\\"LVL1\\"].tolist()))[:2]/g' ./examples/notebooks/Cell-Type-Classification-Fine-Tuning.ipynb
- name: Run Notebooks
run: |
pytest --durations=0 --nbmake ./examples/notebooks/*.ipynb