|
65 | 65 | --ignore=tests/test_duckdb.py \ |
66 | 66 | --ignore=tests/test_cockroachdb.py \ |
67 | 67 | --ignore=tests/test_turso.py \ |
68 | | - --ignore=tests/test_ssh.py |
| 68 | + --ignore=tests/test_ssh.py \ |
| 69 | + --ignore=tests/test_clickhouse.py |
69 | 70 |
|
70 | 71 | test-sqlite: |
71 | 72 | runs-on: ubuntu-latest |
@@ -400,6 +401,48 @@ jobs: |
400 | 401 | run: | |
401 | 402 | pytest tests/test_cockroachdb.py -v --timeout=120 |
402 | 403 |
|
| 404 | + test-clickhouse: |
| 405 | + runs-on: ubuntu-latest |
| 406 | + needs: build |
| 407 | + |
| 408 | + steps: |
| 409 | + - uses: actions/checkout@v4 |
| 410 | + |
| 411 | + - name: Set up Python 3.12 |
| 412 | + uses: actions/setup-python@v5 |
| 413 | + with: |
| 414 | + python-version: "3.12" |
| 415 | + |
| 416 | + - name: Install dependencies |
| 417 | + run: | |
| 418 | + python -m pip install --upgrade pip |
| 419 | + pip install -e ".[test]" |
| 420 | + pip install clickhouse-connect |
| 421 | +
|
| 422 | + - name: Start ClickHouse |
| 423 | + run: | |
| 424 | + docker run -d --name clickhouse \ |
| 425 | + -p 8123:8123 -p 9000:9000 \ |
| 426 | + clickhouse/clickhouse-server:latest |
| 427 | + for i in {1..30}; do |
| 428 | + if curl -sf http://localhost:8123/ping > /dev/null 2>&1; then |
| 429 | + echo "ClickHouse is ready" |
| 430 | + break |
| 431 | + fi |
| 432 | + echo "Waiting for ClickHouse... ($i/30)" |
| 433 | + sleep 2 |
| 434 | + done |
| 435 | +
|
| 436 | + - name: Run ClickHouse integration tests |
| 437 | + env: |
| 438 | + CLICKHOUSE_HOST: localhost |
| 439 | + CLICKHOUSE_PORT: 8123 |
| 440 | + CLICKHOUSE_USER: default |
| 441 | + CLICKHOUSE_PASSWORD: "" |
| 442 | + CLICKHOUSE_DATABASE: test_sqlit |
| 443 | + run: | |
| 444 | + pytest tests/test_clickhouse.py -v --timeout=120 |
| 445 | +
|
403 | 446 | test-ssh: |
404 | 447 | runs-on: ubuntu-latest |
405 | 448 | needs: build |
|
0 commit comments