Add automatic JSON deserialization feature #1258
Workflow file for this run
This file contains hidden or 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: Test | |
| on: [push, pull_request] | |
| env: | |
| FORCE_COLOR: 1 | |
| jobs: | |
| test: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] | |
| numpy: [0, 1] | |
| os: [ubuntu-latest, macos-latest, windows-latest, macos-14] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| allow-prereleases: true | |
| cache: pip | |
| cache-dependency-path: pyproject.toml | |
| - name: Install dependencies | |
| run: | | |
| pip install . --group dev | |
| - name: Optionally install numpy | |
| if: matrix.numpy == 1 | |
| run: pip install numpy | |
| - name: Install SpatiaLite | |
| if: matrix.os == 'ubuntu-latest' | |
| run: sudo apt-get install libsqlite3-mod-spatialite | |
| - name: On macOS with Python 3.10 test with sqlean.py | |
| if: matrix.os == 'macos-latest' && matrix.python-version == '3.10' | |
| run: pip install sqlean.py sqlite-dump | |
| - name: Build extension for --load-extension test | |
| if: matrix.os == 'ubuntu-latest' | |
| run: |- | |
| (cd tests && gcc ext.c -fPIC -shared -o ext.so && ls -lah) | |
| - name: Run tests | |
| run: | | |
| pytest -v | |
| - name: run mypy | |
| run: mypy sqlite_utils tests | |
| - name: run flake8 | |
| run: flake8 | |
| - name: run ty | |
| if: matrix.os != 'windows-latest' | |
| run: | | |
| pip install uv | |
| uv run ty check sqlite_utils | |
| - name: Check formatting | |
| run: black . --check | |
| - name: Check if cog needs to be run | |
| run: | | |
| cog --check --diff README.md docs/*.rst |