# This workflow will install Python dependencies, run tests and lint with a variety of Python versions # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python name: Test on: push: workflow_dispatch: jobs: tests: runs-on: ubuntu-latest strategy: fail-fast: false matrix: # last supported for sqlitecloud, last security maintained, last release python-version: ["3.9", "3.10", "3.13"] steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | python -m pip install -r requirements.txt python -m pip install -r requirements-dev.txt - name: Lint run: | flake8 . --count --exit-zero --show-source --statistics isort --diff --check-only src - name: Tests env: SQLITE_CONNECTION_STRING: ${{ vars.SQLITE_CONNECTION_STRING }} SQLITE_USER: ${{ secrets.SQLITE_USER }} SQLITE_PASSWORD: ${{ secrets.SQLITE_PASSWORD }} SQLITE_API_KEY: ${{ secrets.SQLITE_API_KEY }} SQLITE_ACCESS_TOKEN: ${{ secrets.SQLITE_ACCESS_TOKEN }} SQLITE_HOST: ${{ vars.SQLITE_HOST }} SQLITE_DB: ${{ vars.SQLITE_DB }} SQLITE_PORT: ${{ vars.SQLITE_PORT }} run: | pytest --cov -v src/tests - name: Upload coverage reports to Codecov uses: codecov/codecov-action@v4.0.1 with: token: ${{ secrets.CODECOV_TOKEN }}