- CMake 3.13.2+
- clang-format 12.0.0+
- (macOS) Apple Clang 12.0.0
- (CentOS) GCC 7.3.0
You'd better remove any other protoc
installation except 3.8.x to get a clean build.
You should use exact gRPC 1.26.0. Refer to gRPC document or our test settings example for how to do it.
# WORKSPACE
$ git clone --recursive https://github.com/pingcap/tics.git
# WORKSPACE/tics
$ pushd contrib/tiflash-proxy
$ make release
$ popd
$ mkdir -p libs/libtiflash-proxy
$ cp contrib/tiflash-proxy/target/release/libtiflash_proxy* libs/libtiflash-proxy
# WORKSPACE/tics
$ rm -rf build
$ mkdir -p build
$ pushd build
$ cmake .. -DCMAKE_BUILD_TYPE=Debug -DENABLE_TESTS=1 # default build type: RELWITHDEBINFO
$ make tiflash
$ popd
Now you will get TiFlash binary under WORKSPACE/tics/build/dbms/src/Server/tiflash
.
Before submitting pull request, please use format-diff.py to format source code, otherwise ci-build may raise error.
# WORKSPACE/tics
$ python3 format-diff.py --diff_from `git merge-base ${TARGET_REMOTE_BRANCH} HEAD`
You can download the clang-format
from muttleyxd/clang-tools-static-binaries. clang-format 12.0.0+ is required.
To start developing TiFlash, see TiFlash Development Guide and TiFlash Design documents.