Adapt docs. #503
Workflow file for this run
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: CI | |
on: [push] | |
defaults: | |
run: | |
shell: bash -el {0} | |
jobs: | |
pre-commit-checks: | |
name: "Pre-commit checks" | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout branch | |
uses: actions/checkout@v4 | |
- name: Set up pixi | |
uses: prefix-dev/[email protected] | |
with: | |
environments: default lint | |
- name: pre-commit | |
run: pixi run pre-commit-run --color=always --show-diff-on-failure | |
unit-tests: | |
name: "Unit tests" | |
runs-on: ubuntu-latest | |
env: | |
CI: True | |
strategy: | |
fail-fast: true | |
matrix: | |
env: ["py39", "py310", "py311", "py312", "py313"] | |
os: ['ubuntu-latest', 'windows-latest'] | |
steps: | |
- name: Checkout branch | |
uses: actions/checkout@v4 | |
- name: Set up pixi | |
uses: prefix-dev/[email protected] | |
with: | |
environments: ${{ matrix.env }} | |
- name: Run unit tests | |
run: | | |
pixi run -e ${{ matrix.env }} postinstall | |
pixi run -e ${{ matrix.env }} pytest test/unit | |
linux-integration_tests-sqlserver: | |
name: "Integration tests" | |
runs-on: ubuntu-latest | |
env: | |
CI: True | |
strategy: | |
fail-fast: false | |
matrix: | |
env: ["py39", "py310", "py311", "py312", "py313"] | |
services: | |
DB: | |
image: mcr.microsoft.com/mssql/server:2019-latest | |
env: | |
ACCEPT_EULA: Y | |
SA_PASSWORD: pytsql-Test-123 | |
ports: | |
- 1433:1433 | |
steps: | |
- name: Checkout branch | |
uses: actions/checkout@v4 | |
- name: Set up pixi | |
uses: prefix-dev/[email protected] | |
with: | |
environments: ${{ matrix.env }} | |
- name: Install msodbcsql17 driver | |
run: | | |
wget https://packages.microsoft.com/ubuntu/20.04/prod/pool/main/m/msodbcsql17/msodbcsql17_17.10.1.1-1_amd64.deb | |
ACCEPT_EULA=Y sudo apt install ./msodbcsql17_17.10.1.1-1_amd64.deb --allow-downgrades | |
- name: Wait for SQL Server | |
timeout-minutes: 1 | |
run: until docker logs "${{ job.services.db.id }}" 2>&1 | grep -q "SQL Server is now ready"; do sleep 10; done | |
- name: Run integration tests | |
run: | | |
pixi run -e ${{ matrix.env }} postinstall | |
pixi run -e ${{ matrix.env }} pytest --backend=mssql tests/integration |