TDengine/tests/ci/setup.sh
2025-07-03 09:15:59 +08:00

112 lines
No EOL
2.1 KiB
Bash

#!/bin/bash
function usage() {
echo "$0"
echo -e "\t -b target branch (default 3.0)"
echo -e "\t -c target branch commit id"
echo -e "\t -m branch to merge"
echo -e "\t -n without build source"
echo -e "\t -e TDinternal PR"
echo -e "\t -h help"
}
enterprise=0
target_branch=3.0
build_src=1
while getopts "c:b:m:neh" opt; do
case $opt in
b)
target_branch=$OPTARG
;;
c)
commit_id=$OPTARG
;;
m)
merge_branch=$OPTARG
;;
n)
build_src=0
;;
e)
enterprise=1
;;
h)
usage
exit 0
;;
\?)
echo "Invalid option: -$OPTARG"
usage
exit 0
;;
esac
done
echo "target branch: $target_branch"
echo "commit id: $commit_id"
echo "merge branch: $merge_branch"
echo "build source: $build_src"
echo "enterprise: $enterprise"
echo
set -x
TDINTERNAL_ROOT=/home/TDinternal
COMMUNITY_ROOT=$TDINTERNAL_ROOT/community
PYTHON_CONNECTOR_ROOT=/home/taos-connector-python
# prepare coredump directory
cat /proc/sys/kernel/core_pattern
coredump_dir=`cat /proc/sys/kernel/core_pattern|xargs dirname`
mkdir -p $coredump_dir
# prepare source code
cd $TDINTERNAL_ROOT
git checkout $target_branch
git fetch
cd $COMMUNITY_ROOT
git checkout $target_branch
git fetch
if [ $enterprise -ne 0 ]; then
# TDinternal PR
cd $TDINTERNAL_ROOT
else
# TDengine PR
cd $COMMUNITY_ROOT
fi
# checkout commit id
if [ ! -z $commit_id ]; then
git checkout $commit_id
fi
# merge branch
if [ ! -z $merge_branch ]; then
git merge $merge_branch --no-edit
fi
cd $COMMUNITY_ROOT
if [ $build_src -ne 0 ]; then
# build
cd $TDINTERNAL_ROOT
rm -rf debug
mkdir -p debug
cd debug
cmake .. -DBUILD_TOOLS=true
make -j 8
fi
rm -rf /usr/lib/libtaos.so
ln -s $TDINTERNAL_ROOT/debug/build/lib/libtaos.so /usr/lib/libtaos.so
# install python connector
echo "install python connector"
cd $PYTHON_CONNECTOR_ROOT
git pull
pip3 install .