ci: extend ClickHouse version matrix in test-local - #462
Conversation
Cover the supported ClickHouse series (3 latest + 2 LTS) in addition to the floating `latest` tag and `head`: - Latest: 26.7, 26.6, 26.5 - LTS: 26.3, 25.8 `docker-compose.yml` already reads `CLICKHOUSE_VERSION`, so no compose change is needed. Coverage upload stays on the single `latest` entry.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Extending the `test-local` matrix to the supported server versions showed that several tests need a server newer than the oldest supported release: - `insert_native::mixed_types_*` and the `Nullable(Tuple(...))` case of `fetch_native::empty_arrays` need 26.6, which added the type. - `native_types::test_bool` relied on the `Values(...)` table function inferring `Bool`; servers before 26.0 infer `UInt8`. - `insert::insert_unescaped` and `insert::insert_unvalidated` relied on the server supplying a primary key for a `MergeTree` table. Add a `require_server_version!` skip macro, next to the existing `check_cloud_test_env!`, and declare the requirement where it is real. Make the other two tests version-independent instead: the bool test now states the SQL type, and both DDLs now state the engine and the primary key.
|
Pushed Two tests were simply version-dependent by accident, and are now version-independent:
Three genuinely need ClickHouse 26.6, which added
Verified in Docker on both sides of the boundary:
One failure in the previous run is not addressed here and is not caused by this PR: |
… key `insert_with_opentelemetry` created its table without an ENGINE clause, so it depended on the server supplying a default engine and a default primary key. Servers in the supported range reject this DDL with `ORDER BY or PRIMARY KEY clause is missing` (Code: 42), which made the new 25.8 matrix leg fail. State the engine and primary key like the rest of the suite does (tests/it/insert.rs), which makes the test version-independent.
|
Pushed Fixed — Verified in Docker with
Not fixed — |
Description
CI/maintenance chore: bring the ClickHouse version coverage of the
test-localjob onto the support policy (the 3 latest series + the last 2 LTS series +head).26.7,26.6,26.5(latest series),26.3,25.8(LTS)latestis kept, but it floats, so it does not count as coverage of any series.headwas already in the matrix.Changes
.github/workflows/ci.yml—test-localmatrix:Versions are quoted so YAML keeps them as strings (an unquoted
26.30-style value would lose its trailing zero).No other change is needed:
docker-compose.ymlalready passesCLICKHOUSE_VERSIONto the server image tag.Test
.github/workflows/ci.ymlparses; thetest-localmatrix resolves to the 7 entries above.include:block still marks onlylatestwithcoverage: true, so the Codecov report/upload steps still run for exactly one matrix entry.docker manifest inspect clickhouse/clickhouse-server:<version>for 25.8, 26.3, 26.5, 26.6, 26.7).Notes
Version coverage only — no client behavior changes, so no CHANGELOG entry or version bump. Other matrix dimensions are untouched.