mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-14 18:32:29 +00:00
83 lines
2.4 KiB
Bash
83 lines
2.4 KiB
Bash
|
#!/bin/bash
|
||
|
set -ex
|
||
|
set -o pipefail
|
||
|
trap "exit" INT TERM
|
||
|
trap 'kill $(jobs -pr) ||:' EXIT
|
||
|
|
||
|
left_version=${1}
|
||
|
right_version=${2}
|
||
|
|
||
|
if [ "$left_version" == "" ] || [ "$right_version" == "" ]
|
||
|
then
|
||
|
>&2 echo Usage: $(basename "$0") left_version right_version
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||
|
repo_dir=${repo_dir:-$(readlink -f "$script_dir/../../..")}
|
||
|
|
||
|
function download_package() # (version, path)
|
||
|
{
|
||
|
version="$1"
|
||
|
path="$2"
|
||
|
cd "$path"
|
||
|
wget -nv -nd -nc "https://repo.clickhouse.tech/deb/stable/main/clickhouse-common-static-dbg_${version}_amd64.deb" ||:
|
||
|
wget -nv -nd -nc "https://repo.clickhouse.tech/deb/stable/main/clickhouse-common-static_${version}_amd64.deb" ||:
|
||
|
wget -nv -nd -nc "https://repo.clickhouse.tech/deb/stable/main/clickhouse-test_${version}_all.deb" ||:
|
||
|
mkdir tmp ||:
|
||
|
for x in *.deb; do dpkg-deb -x "$x" tmp ; done
|
||
|
mv tmp/usr/bin/clickhouse ./clickhouse
|
||
|
mkdir .debug
|
||
|
mv tmp/usr/lib/debug/usr/bin/clickhouse .debug/clickhouse
|
||
|
mv tmp/usr/share/clickhouse-test/performance .
|
||
|
ln -s clickhouse clickhouse-local
|
||
|
ln -s clickhouse clickhouse-client
|
||
|
ln -s clickhouse clickhouse-server
|
||
|
rm -rf tmp
|
||
|
}
|
||
|
|
||
|
function download
|
||
|
{
|
||
|
rm -r left right db0 ||:
|
||
|
mkdir left right db0 ||:
|
||
|
|
||
|
"$script_dir/download.sh" ||: &
|
||
|
|
||
|
download_package "$left_version" left &
|
||
|
download_package "$right_version" right &
|
||
|
|
||
|
wait
|
||
|
|
||
|
rm -rf {right,left}/tmp
|
||
|
}
|
||
|
|
||
|
function configure
|
||
|
{
|
||
|
# Configs
|
||
|
cp -av "$script_dir/config" right
|
||
|
cp -av "$script_dir/config" left
|
||
|
cp -av "$repo_dir"/programs/server/config* right/config
|
||
|
cp -av "$repo_dir"/programs/server/user* right/config
|
||
|
cp -av "$repo_dir"/programs/server/config* left/config
|
||
|
cp -av "$repo_dir"/programs/server/user* left/config
|
||
|
}
|
||
|
|
||
|
function run
|
||
|
{
|
||
|
left/clickhouse-local --query "select * from system.build_options format PrettySpace" | sed 's/ *$//' | fold -w 80 -s > left-commit.txt
|
||
|
right/clickhouse-local --query "select * from system.build_options format PrettySpace" | sed 's/ *$//' | fold -w 80 -s > right-commit.txt
|
||
|
|
||
|
PATH=right:"$PATH" \
|
||
|
CHPC_TEST_PATH=right/performance \
|
||
|
stage=configure \
|
||
|
"$script_dir/compare.sh" &> >(tee compare.log)
|
||
|
}
|
||
|
|
||
|
download
|
||
|
configure
|
||
|
run
|
||
|
|
||
|
rm output.7z
|
||
|
7z a output.7z ./*.{log,tsv,html,txt,rep,svg} {right,left}/{performance,db/preprocessed_configs}
|
||
|
|