Skip to content

Repro spurious DoesNotExistError #93

Repro spurious DoesNotExistError

Repro spurious DoesNotExistError #93

Workflow file for this run

name: 'rm SOMA `Slice.__subclasscheck__`'
on:
workflow_dispatch:
inputs:
runs-on:
description: Host
default: ubuntu-20.04
tdbs-ref:
description: TileDB-SOMA branch or tag to clone
default: rw/tg
soma-org:
description: Org to clone single-cell-data/SOMA from
type: choice
default: ryan-williams
options:
- single-cell-data
- ryan-williams
soma-refs:
description: single-cell-data/SOMA branch or tag to clone
default: '"main", "slc"'
soma-pretend-version:
description: "Set the SOMA version, to satisfy TileDB-SOMA's pin (despite a shallow SOMA clone that's unable to compute a sensible version for itself)"
default: '1.0.21'
python-versions:
description: Python versions to test
default: '"3.9.10", "3.9.19", "3.12.7"'
typeguard-versions:
description: Typeguard versions to test
default: '"4.2.1", "4.3.0", "4.4.0"'
tests:
description: Tests to run (under apis/python/)
default: 'tests/test_dataframe_index_columns.py::test_types_no_errors[soma_joinid-py-slice-index_column_names4-domain4-coords4-expecteds4]'
jobs:
job:
strategy:
matrix:
typeguard-version: ${{ fromJSON(format('[{0}]', inputs.typeguard-versions)) }}
soma-ref: ${{ fromJSON(format('[{0}]', inputs.soma-refs)) }}
python-version: ${{ fromJSON(format('[{0}]', inputs.python-versions)) }}
fail-fast: false
name: '${{ matrix.python-version }} ${{ matrix.soma-ref }} ${{ matrix.typeguard-version }}'
runs-on: ${{ inputs.runs-on }}
steps:
- name: Checkout ${{ inputs.soma-org }}/SOMA@${{ matrix.soma-ref }}
uses: actions/checkout@v4
with:
repository: ${{ inputs.soma-org }}/SOMA
ref: ${{ matrix.soma-ref }}
path: soma
- name: Checkout TileDB-SOMA@${{ inputs.tdbs-ref }}
uses: actions/checkout@v4
with:
repository: single-cell-data/TileDB-SOMA
ref: ${{ inputs.tdbs-ref }}
path: tdbs
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install SOMA, TileDB-SOMA
env:
SETUPTOOLS_SCM_PRETEND_VERSION_FOR_SOMACORE: ${{ inputs.soma-pretend-version }}
run: |
pip install -e tdbs/apis/python[dev] -e soma
pip install typeguard==${{ matrix.typeguard-version }} # Install separately, to avoid tdbs pin
- run: make data
working-directory: tdbs
- name: Run tests
run: pytest --maxfail=10 ${{ inputs.tests }}
working-directory: tdbs/apis/python