Skip to content

feat: Add prototype code for validating fragement file #2620

feat: Add prototype code for validating fragement file

feat: Add prototype code for validating fragement file #2620

Workflow file for this run

name: Push tests
on:
push:
branches: main
pull_request:
branches: "*"
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.ref }}
- uses: actions/setup-python@v5
- name: Pre-commit checks
uses: pre-commit/[email protected]
- name: Install dependencies
run: |
pip install -r ./requirements-dev.txt
# We can't have mypy in the pre-commit hook without having it run on all files
# in the repo, because (probably) the --all-files argument in pre-commit overrides
# the more narrow specifying of files in pyproject.toml
# TODO: Remove this if/when all files are mypy-compliant
- name: Run mypy
run: |
mypy --config-file pyproject.toml
unit-tests-cli:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.ref }}
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Python cache
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements*.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Install dependencies
run: |
pip install -r ./requirements-dev.txt
pip install -e ./cellxgene_schema_cli
- name: cellxgene_schema_cli Unit tests
run: make unit-test
- name: Upload coverage results as an artifact
uses: actions/upload-artifact@v4
with:
name: coverage-cli
path: ./.coverage*
retention-days: 3
unit-tests-migration-assistant:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.ref }}
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Python cache
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements*.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Install dependencies
run: |
pip install -r scripts/migration_assistant/requirements.txt
pip install -r ./requirements-dev.txt
- name: migration_assistant Unit tests
run: make migration-assistant-tests
- name: Upload coverage results as an artifact
uses: actions/upload-artifact@v4
with:
name: coverage-migration-assisstant
path: ./.coverage*
retention-days: 3
unit-test-ontology-dry-run:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.ref }}
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Python cache
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements*.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Install dependencies
run: |
pip install -r scripts/schema_bump_dry_run_ontologies/requirements.txt
pip install -r ./requirements-dev.txt
- name: Ontology Dry Run Unit Tests
run: make ontology-dry-run-tests
- name: Upload coverage results as an artifact
uses: actions/upload-artifact@v4
with:
name: coverage-ontology-dry-run
path: ./.coverage*
retention-days: 3
unit-test-genes-dry-run:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.ref }}
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Python cache
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements*.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Install dependencies
run: |
pip install -r scripts/schema_bump_dry_run_genes/requirements.txt
pip install -r ./requirements-dev.txt
- name: Gene Dry Run Unit Tests
run: make gene-dry-run-tests
- name: Upload coverage results as an artifact
uses: actions/upload-artifact@v4
with:
name: coverage-genes-dry-run
path: ./.coverage*
retention-days: 3
submit-codecoverage:
needs:
- unit-test-genes-dry-run
- unit-test-ontology-dry-run
- unit-tests-migration-assistant
- unit-tests-cli
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
ref:
${{ github.event.pull_request.head.ref }}
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install dependencies
run: |
pip install coverage
- uses: actions/download-artifact@v4
with:
pattern: coverage-*
merge-multiple: true
path: .
- name: coverage report
run: |
make coverage/report-xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
env_vars: OS,PYTHON
files: ./coverage.xml
flags: unittests
name: codecov-umbrella