mirror of
https://github.com/chanzuckerberg/cellxgene.git
synced 2026-09-16 05:07:55 +08:00
* Make sure apt is up to date before pulling hdf5 * Only install py dev reqs in cxg release vs anndata master test * Don't need bu flag when using sed on ubuntu * Don't re-install package reqs in python x anndata ver tests * Minor documentation fix
119 lines
3.7 KiB
YAML
119 lines
3.7 KiB
YAML
name: Compatibility Tests
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '0 8 7 * 2'
|
|
push:
|
|
branches:
|
|
- master
|
|
|
|
env:
|
|
JEST_ENV: prod
|
|
|
|
jobs:
|
|
docker-build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v1
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
- name: Build docker image
|
|
run: docker build .
|
|
|
|
cellxgene-master-with-python-and-anndata-versions:
|
|
name: python versions x anndata versions
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
python-version: [3.6, 3.7, 3.8]
|
|
anndata-version: [0.6.22.post1, 0.7.1]
|
|
test-suite: [smoke-test, smoke-test-annotations]
|
|
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 dependencies
|
|
run: |
|
|
# 1. only install the dev requirements on top of what is in the cellxgene pip package
|
|
sudo apt-get update && sudo apt-get install -y libhdf5-serial-dev
|
|
sed -i 's/-r requirements.txt//' server/requirements-dev.txt
|
|
pip install -r server/requirements-dev.txt
|
|
# 2. install cellxgene
|
|
make pydist install-dist
|
|
# 3. install anndata
|
|
pip install anndata==${{ matrix.anndata-version }}
|
|
# workaround for anndata 0.6.22.post1 bug
|
|
[[ "0.6.22.post1" = "${{ matrix.anndata-version }}" ]] && pip install h5py==2.9.0 || true
|
|
- name: Tests
|
|
run: make unit-test ${{ matrix.test-suite }}
|
|
|
|
cellxgene-release-with-anndata-master:
|
|
name: cellxgene release with anndata master
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
test-suite: [smoke-test, smoke-test-annotations]
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Set up Python 3.7
|
|
uses: actions/setup-python@v1
|
|
with:
|
|
python-version: 3.7
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
with:
|
|
path: cellxgene
|
|
- name: Checkout tools repo
|
|
uses: actions/checkout@v2
|
|
with:
|
|
repository: theislab/anndata
|
|
path: anndata
|
|
- name: Install dependencies
|
|
run: |
|
|
cd cellxgene
|
|
# 1. only install the dev requirements on top of what is in the cellxgene pip package
|
|
make dev-env-client
|
|
sed -i 's/-r requirements.txt//' server/requirements-dev.txt
|
|
pip install -r server/requirements-dev.txt
|
|
# 2. install cellxgene
|
|
pip install --upgrade cellxgene
|
|
# 3. install anndata
|
|
cd ../anndata && pip install -e .
|
|
- name: Tests
|
|
run: cd cellxgene && make unit-test ${{ matrix.test-suite }}
|
|
|
|
cellxgene-master-with-anndata-master:
|
|
name: cellxgene master with anndata master
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
test-suite: [smoke-test, smoke-test-annotations]
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Set up Python 3.7
|
|
uses: actions/setup-python@v1
|
|
with:
|
|
python-version: 3.7
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
with:
|
|
path: cellxgene
|
|
- name: Checkout tools repo
|
|
uses: actions/checkout@v2
|
|
with:
|
|
repository: theislab/anndata
|
|
path: anndata
|
|
- name: Install dependencies
|
|
run: |
|
|
cd cellxgene
|
|
sed -i -E 's/^anndata[>=]=[0-9]+.[0-9]+.[0-9]+$/anndata/g' server/requirements.txt
|
|
make pydist install-dist dev-env
|
|
cd ../anndata
|
|
pip install -e .
|
|
- name: Tests
|
|
run: cd cellxgene && make unit-test ${{ matrix.test-suite }}
|