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 }}