Fix CI: drop unrecognized --print-time flag from upstream-sql-tests#708
Conversation
Agent-Logs-Url: https://github.com/ClickHouse/clickhouse-js/sessions/082ff17d-204a-4d87-8da8-e9a080a4a54b Co-authored-by: peter-leonov-ch <209667683+peter-leonov-ch@users.noreply.github.com>
Agent-Logs-Url: https://github.com/ClickHouse/clickhouse-js/sessions/082ff17d-204a-4d87-8da8-e9a080a4a54b Co-authored-by: peter-leonov-ch <209667683+peter-leonov-ch@users.noreply.github.com>
Agent-Logs-Url: https://github.com/ClickHouse/clickhouse-js/sessions/082ff17d-204a-4d87-8da8-e9a080a4a54b Co-authored-by: peter-leonov-ch <209667683+peter-leonov-ch@users.noreply.github.com>
Agent-Logs-Url: https://github.com/ClickHouse/clickhouse-js/sessions/28a5d7f8-37bc-4cb2-81d4-573656dcd9c8 Co-authored-by: peter-leonov-ch <209667683+peter-leonov-ch@users.noreply.github.com>
|
|
There was a problem hiding this comment.
Pull request overview
This PR fixes the failing upstream ClickHouse SQL test workflow by removing the unsupported --print-time flag, and (via included #707 commits) adds the upstream SQL test harness + CI workflow that runs a curated subset of upstream tests against @clickhouse/client.
Changes:
- Remove the invalid
--print-timeargument from the upstream test invocation and documentation examples. - Add a runner helper script + allowlist file to run a curated set of upstream
tests/clickhouse-testcases locally. - Add an
upstream-sql-testsGitHub Actions workflow (matrix over backend impl + ClickHouse image tag) and document the harness in contributor docs.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
tests/clickhouse-test-runner/upstream-allowlist.txt |
Adds curated list of upstream tests to run. |
tests/clickhouse-test-runner/scripts/run-upstream-tests.sh |
Adds helper script to build/run the harness against upstream checkout with allowlist + env defaults. |
tests/clickhouse-test-runner/README.md |
Updates usage docs and examples (removes --print-time). |
tests/clickhouse-test-runner/.gitignore |
Ignores .upstream/ directory used for upstream sparse checkout. |
CONTRIBUTING.md |
Adds pointer to the upstream SQL test harness docs. |
AGENTS.md |
Adds guidance/links for maintaining the upstream SQL test harness. |
.github/workflows/upstream-sql-tests.yml |
Adds CI workflow to run upstream SQL tests matrix and upload artifacts. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Agent-Logs-Url: https://github.com/ClickHouse/clickhouse-js/sessions/c4b5a2ac-1a65-4042-b329-b06304df0542 Co-authored-by: peter-leonov-ch <209667683+peter-leonov-ch@users.noreply.github.com>
Agent-Logs-Url: https://github.com/ClickHouse/clickhouse-js/sessions/5d5935b7-23d3-40a7-8e48-e3b18b7663cc Co-authored-by: peter-leonov-ch <209667683+peter-leonov-ch@users.noreply.github.com>
|
@copilot fix this warning from CI: "WARNING: jinja2 not installed! Template tests will be skipped." |
…ts warning Agent-Logs-Url: https://github.com/ClickHouse/clickhouse-js/sessions/cc1e7775-1f5b-4741-af43-506e5799a6e5 Co-authored-by: peter-leonov-ch <209667683+peter-leonov-ch@users.noreply.github.com>
|
Fix this error from CI by first adding |
…gnose CI MaxListenersExceededWarning Agent-Logs-Url: https://github.com/ClickHouse/clickhouse-js/sessions/a4242f5c-e468-42b8-94fc-88f9b528e41c Co-authored-by: peter-leonov-ch <209667683+peter-leonov-ch@users.noreply.github.com>
Added |
…iteration over result.stream Agent-Logs-Url: https://github.com/ClickHouse/clickhouse-js/sessions/523648aa-0fff-488b-ba63-722a358c2bfe Co-authored-by: peter-leonov-ch <209667683+peter-leonov-ch@users.noreply.github.com>
Agent-Logs-Url: https://github.com/ClickHouse/clickhouse-js/sessions/6de9c4aa-1cd3-455c-a954-e78d7a3dce1b Co-authored-by: peter-leonov-ch <209667683+peter-leonov-ch@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
## Summary Continues #708 by growing `tests/clickhouse-test-runner/upstream-allowlist.txt` from 1 to 36 upstream ClickHouse stateless SQL tests. Each added test was verified to pass through the harness on both backends (`client`, `http`) and both server matrix versions (`head`, `latest`). Coverage spans: - Basic `SELECT`, parser numerics, `reinterpretAsString` - Array functions, `ARRAY JOIN`, nested columns, `arrayEnumerateUniq` - `GROUP BY` / `WITH TOTALS` / `HAVING`, `DISTINCT` in subqueries - `FixedString` conversions, higher-order function constants, `argMin`/`argMax` - `IN` / set, ORDER BY descending on (Fixed)String - `ANY`/`ALL` `LEFT`/`INNER` joins on numbers, strings, mixed types ## Checklist - [x] A human-readable description of the changes was provided to include in CHANGELOG Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: peter-leonov-ch <209667683+peter-leonov-ch@users.noreply.github.com>
Continues #708 / #710 by growing `tests/clickhouse-test-runner/upstream-allowlist.txt` from 36 → 424 entries through the Node.js harness, validated on both `client` and `http` backends. - [x] Set up upstream ClickHouse sparse checkout, install Python deps, build the test runner, start ClickHouse via docker-compose - [x] Verify the existing 36-test allowlist passes through the harness on both `client` and `http` backends - [x] Build the per-batch driver (add 100, run both backends with `--no-stateful --no-long`, keep passers, drop failures and skips) - [x] Run batches 1-6 (600 candidates evaluated; 342 passed on both `client` and `http` backends and were kept; 257 failures and 1 skip dropped); allowlist 36 → 378 - [x] Fix CI failures from prior commit: drop 54 entries from the allowlist that either failed in the CI matrix (`{client,http} × {head,latest}`) or that act as **prefix matches** for failing tests (clickhouse-test treats positional args as substring/prefix matches, so e.g. `00396_uuid` was unintentionally pulling in the failing `00396_uuid_v7`). Net: allowlist now 424 entries (+388 vs the pre-#710 baseline of 36) - [x] Document the harness purpose and the batch-add strategy (including the prefix-match gotcha) in `AGENTS.md` so future agent runs have the context - [x] PR ready for review --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: peter-leonov-ch <209667683+peter-leonov-ch@users.noreply.github.com>
Fix CI errors from #707.
--print-timefrom workflow + README example (it isn't a validtests/clickhouse-testflag)clickhouse_versionworkflow_dispatchinput fromupstream-sql-tests.ymlUPSTREAM_REFenv var fromupstream-sql-tests.ymljinja2inupstream-sql-tests.ymlMaxListenersExceededWarninginclientbackend by replacingpipeline(result.stream, process.stdout, { end: false })withfor await (const chunk of result.stream)so no error/close listeners accumulate on stdout--trace-warningsenabled intests/clickhouse-test-runner/bin/clickhouseso any future Node warnings include their stack traces in CI logs