Repro spurious DoesNotExistError #93
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |