|
1 | | - |
2 | 1 | name: test | clickhouse |
3 | 2 |
|
4 | 3 | on: |
|
8 | 7 | - devel |
9 | 8 | workflow_dispatch: |
10 | 9 | schedule: |
11 | | - - cron: '0 2 * * *' |
| 10 | + - cron: '0 2 * * *' |
12 | 11 |
|
13 | 12 | concurrency: |
14 | 13 | group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} |
|
20 | 19 | DLT_SECRETS_TOML: ${{ secrets.DLT_SECRETS_TOML }} |
21 | 20 |
|
22 | 21 | ACTIVE_DESTINATIONS: "[\"clickhouse\"]" |
23 | | - ALL_FILESYSTEM_DRIVERS: "[\"memory\"]" |
| 22 | + ALL_FILESYSTEM_DRIVERS: "[\"memory\", \"file\"]" |
24 | 23 |
|
25 | 24 | jobs: |
26 | 25 | get_docs_changes: |
@@ -67,12 +66,51 @@ jobs: |
67 | 66 | - name: create secrets.toml |
68 | 67 | run: pwd && echo "$DLT_SECRETS_TOML" > tests/.dlt/secrets.toml |
69 | 68 |
|
| 69 | + # OSS ClickHouse |
| 70 | + - run: | |
| 71 | + docker compose -f "tests/load/clickhouse/clickhouse-compose.yml" up -d |
| 72 | + echo "Waiting for ClickHouse to be healthy..." |
| 73 | + timeout 30s bash -c 'until docker compose -f "tests/load/clickhouse/clickhouse-compose.yml" ps | grep -q "healthy"; do sleep 1; done' |
| 74 | + echo "ClickHouse is up and running" |
| 75 | + name: Start ClickHouse OSS |
| 76 | +
|
| 77 | +
|
| 78 | + - run: poetry run pytest tests/load -m "essential" |
| 79 | + name: Run essential tests Linux (ClickHouse OSS) |
| 80 | + if: ${{ ! (contains(github.event.pull_request.labels.*.name, 'ci full') || github.event_name == 'schedule')}} |
| 81 | + env: |
| 82 | + DESTINATION__CLICKHOUSE__CREDENTIALS__HOST: localhost |
| 83 | + DESTINATION__CLICKHOUSE__CREDENTIALS__DATABASE: dlt_data |
| 84 | + DESTINATION__CLICKHOUSE__CREDENTIALS__USERNAME: loader |
| 85 | + DESTINATION__CLICKHOUSE__CREDENTIALS__PASSWORD: loader |
| 86 | + DESTINATION__CLICKHOUSE__CREDENTIALS__PORT: 9000 |
| 87 | + DESTINATION__CLICKHOUSE__CREDENTIALS__HTTP_PORT: 8123 |
| 88 | + DESTINATION__CLICKHOUSE__CREDENTIALS__SECURE: 0 |
| 89 | + |
| 90 | + - run: poetry run pytest tests/load |
| 91 | + name: Run all tests Linux (ClickHouse OSS) |
| 92 | + if: ${{ contains(github.event.pull_request.labels.*.name, 'ci full') || github.event_name == 'schedule'}} |
| 93 | + env: |
| 94 | + DESTINATION__CLICKHOUSE__CREDENTIALS__HOST: localhost |
| 95 | + DESTINATION__CLICKHOUSE__CREDENTIALS__DATABASE: dlt_data |
| 96 | + DESTINATION__CLICKHOUSE__CREDENTIALS__USERNAME: loader |
| 97 | + DESTINATION__CLICKHOUSE__CREDENTIALS__PASSWORD: loader |
| 98 | + DESTINATION__CLICKHOUSE__CREDENTIALS__PORT: 9000 |
| 99 | + DESTINATION__CLICKHOUSE__CREDENTIALS__HTTP_PORT: 8123 |
| 100 | + DESTINATION__CLICKHOUSE__CREDENTIALS__SECURE: 0 |
| 101 | + |
| 102 | + - name: Stop ClickHouse OSS |
| 103 | + if: always() |
| 104 | + run: docker compose -f "tests/load/clickhouse/clickhouse-compose.yml" down -v |
| 105 | + |
| 106 | + # ClickHouse Cloud |
70 | 107 | - run: | |
71 | 108 | poetry run pytest tests/load -m "essential" |
72 | | - name: Run essential tests Linux |
| 109 | + name: Run essential tests Linux (ClickHouse Cloud) |
73 | 110 | if: ${{ ! (contains(github.event.pull_request.labels.*.name, 'ci full') || github.event_name == 'schedule')}} |
74 | 111 |
|
75 | 112 | - run: | |
76 | 113 | poetry run pytest tests/load |
77 | | - name: Run all tests Linux |
| 114 | + name: Run all tests Linux (ClickHouse Cloud) |
78 | 115 | if: ${{ contains(github.event.pull_request.labels.*.name, 'ci full') || github.event_name == 'schedule'}} |
| 116 | +
|
0 commit comments