chore(deps-dev): bump mypy from 2.1.0 to 2.3.0 in the pip-updates group across 1 directory #1233
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: Integration tests on SQL Server | |
| on: # yamllint disable-line rule:truthy | |
| workflow_dispatch: | |
| push: | |
| branches: | |
| - master | |
| - v* | |
| paths: | |
| - 'dbt/**' | |
| - 'tests/functional/**' | |
| - 'devops/**' | |
| - 'docker-compose.yml' | |
| - '**/*.lock' | |
| - '.locks/**' | |
| - 'pyproject.toml' | |
| - 'pytest.ini' | |
| - '.github/workflows/integration-tests-sqlserver.yml' | |
| pull_request: | |
| branches: | |
| - master | |
| - v* | |
| paths: | |
| - 'dbt/**' | |
| - 'tests/functional/**' | |
| - 'devops/**' | |
| - 'docker-compose.yml' | |
| - '**/*.lock' | |
| - '.locks/**' | |
| - 'pyproject.toml' | |
| - 'pytest.ini' | |
| - '.github/workflows/integration-tests-sqlserver.yml' | |
| schedule: | |
| - cron: '0 22 * * 0' | |
| jobs: | |
| integration-tests-sql-server: | |
| name: ${{ matrix.backend }} / Py${{ matrix.python_version }} / SQL${{ matrix.sqlserver_version }} / ODBC${{ matrix.msodbc_version }} / ${{ matrix.collation }} | |
| if: github.actor != 'dependabot[bot]' | |
| strategy: | |
| # Smaller matrix allows this to check if a failure is specific. | |
| fail-fast: false | |
| matrix: | |
| python_version: ["3.11", "3.12", "3.13", "3.14"] | |
| backend: [pyodbc, mssql-python] | |
| # Baseline on 2025 (newest) | |
| sqlserver_version: ["2025"] | |
| msodbc_version: ["18"] | |
| collation: [SQL_Latin1_General_CP1_CI_AS] | |
| exclude: | |
| - backend: mssql-python | |
| python_version: "3.11" | |
| sqlserver_version: "2025" | |
| - backend: mssql-python | |
| python_version: "3.12" | |
| sqlserver_version: "2025" | |
| include: | |
| # Keep pyodbc on every supported Python version, but retain | |
| # SQL Server ODBC 17 coverage for the oldest and newest Python. | |
| - backend: pyodbc | |
| python_version: "3.11" | |
| sqlserver_version: "2025" | |
| msodbc_version: "17" | |
| collation: SQL_Latin1_General_CP1_CI_AS | |
| - backend: pyodbc | |
| python_version: "3.13" | |
| sqlserver_version: "2025" | |
| msodbc_version: "17" | |
| collation: SQL_Latin1_General_CP1_CI_AS | |
| # Older SQL Server versions stay on pyodbc only, with a single | |
| # collation so the matrix stays small and readable. | |
| - backend: pyodbc | |
| python_version: "3.11" | |
| sqlserver_version: "2017" | |
| msodbc_version: "17" | |
| collation: SQL_Latin1_General_CP1_CI_AS | |
| - backend: pyodbc | |
| python_version: "3.13" | |
| sqlserver_version: "2019" | |
| msodbc_version: "17" | |
| collation: SQL_Latin1_General_CP1_CI_AS | |
| - backend: pyodbc | |
| python_version: "3.13" | |
| sqlserver_version: "2022" | |
| msodbc_version: "17" | |
| collation: SQL_Latin1_General_CP1_CI_AS | |
| # Add the case-sensitive collation on the SQL Server 2025 baseline | |
| # and latest Python/backend rows. | |
| - backend: pyodbc | |
| python_version: "3.13" | |
| sqlserver_version: "2025" | |
| msodbc_version: "17" | |
| collation: SQL_Latin1_General_CP1_CS_AS | |
| # mssql-python stays on the latest Python only. | |
| - backend: mssql-python | |
| python_version: "3.13" | |
| sqlserver_version: "2025" | |
| msodbc_version: "18" | |
| collation: SQL_Latin1_General_CP1_CS_AS | |
| # ADBC (experimental, see docs/adbc_backend.md) gets a single | |
| # coverage row on the latest Python and SQL Server baseline. | |
| - backend: adbc | |
| python_version: "3.13" | |
| sqlserver_version: "2025" | |
| msodbc_version: "18" | |
| collation: SQL_Latin1_General_CP1_CI_AS | |
| runs-on: ubuntu-latest | |
| # The ADBC backend is experimental (docs/adbc_backend.md): don't block | |
| # the required check on it while it's still stabilizing. | |
| continue-on-error: ${{ matrix.backend == 'adbc' }} | |
| container: | |
| image: ghcr.io/${{ github.repository }}:CI-${{ matrix.python_version }}-${{ matrix.backend == 'pyodbc' && format('msodbc{0}', matrix.msodbc_version) || (matrix.backend == 'adbc' && 'adbc' || 'mssql') }} | |
| credentials: | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| services: | |
| sqlserver: | |
| image: ghcr.io/${{ github.repository }}:server-${{ matrix.sqlserver_version }} | |
| env: | |
| ACCEPT_EULA: 'Y' | |
| SA_PASSWORD: 5atyaNadella | |
| DBT_TEST_USER_1: DBT_TEST_USER_1 | |
| DBT_TEST_USER_2: DBT_TEST_USER_2 | |
| DBT_TEST_USER_3: DBT_TEST_USER_3 | |
| COLLATION: ${{ matrix.collation }} | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Install uv | |
| run: pip install uv | |
| - name: Install dependencies | |
| env: | |
| INSTALL_EXTRA: ${{ matrix.backend == 'pyodbc' && 'pyodbc' || (matrix.backend == 'adbc' && 'adbc' || 'mssql') }} | |
| run: uv pip install --system -e ".[$INSTALL_EXTRA]" --group dev | |
| - name: Run functional tests | |
| run: pytest -n auto -ra -v tests/functional --profile "ci_sql_server" | |
| env: | |
| DBT_TEST_USER_1: DBT_TEST_USER_1 | |
| DBT_TEST_USER_2: DBT_TEST_USER_2 | |
| DBT_TEST_USER_3: DBT_TEST_USER_3 | |
| SQLSERVER_TEST_DRIVER: "ODBC Driver ${{ matrix.msodbc_version }} for SQL Server" | |
| SQLSERVER_TEST_BACKEND: ${{ matrix.backend }} |