mirror of
https://github.com/hanzoai/datastore.git
synced 2026-09-26 13:55:07 +00:00
Adds `utils/auto-bisect/` — a shell-based bisection framework that downloads pre-built CI binaries and runs a user-supplied test script to find the first bad commit. Key features: - Downloads public CI binaries from S3 by default; private CloudFront builds with `--private` (credentials via `CH_CI_BASIC_AUTH` env var, `CH_CI_USER`/`CH_CI_PASSWORD`, or `/etc/netrc`) - Three environment modes: `single` (one server), `replicateddb` (two nodes + Keeper, Replicated database), `sharedcatalog` (two nodes + Keeper, SharedCatalog) - Uses `git bisect --no-checkout` by default so the work tree is not modified during bisection - Walker mode (`--walker`) for linear commit-by-commit testing - Example test scripts in `tests/` Tested locally: `--env nothing`, `--env single`, and `--env replicateddb` all verified working.
24 lines
769 B
Bash
Executable File
24 lines
769 B
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
#./bisect.sh --test tests/test_rmv_definer.sh --good af9a4c6a --bad b7c20bd6 --path /home/nik/work/clickhouse-private1/ --env nothing
|
|
|
|
(
|
|
cd $GIT_WORK_TREE/tests/integration || exit 1
|
|
echo "$PWD"
|
|
|
|
export CLICKHOUSE_TESTS_SERVER_BIN_PATH=$CH_PATH
|
|
# ODBC bridge isn't used
|
|
export CLICKHOUSE_TESTS_ODBC_BRIDGE_BIN_PATH=$CH_PATH
|
|
export CLICKHOUSE_TESTS_LIBRARY_BRIDGE_BIN_PATH=$CH_PATH
|
|
|
|
# If you want to reproduce it, copy the test directory and do not track it with git, otherwise you will encounter git conflicts
|
|
|
|
if ./runner test_storage_s3_pp/test_sts_smoke.py 2>&1 | tee /dev/tty | grep -q "Distributed task iterator is not initialized"; then
|
|
echo "Exiting with 1."
|
|
exit 1
|
|
else
|
|
echo "Exiting with 0."
|
|
exit 0
|
|
fi
|
|
|
|
) |