...
- BE Code Formatter: BE C++ code format check(sh build-support/check-format.sh)
- FE Code Style Checker: FE JAVA code format check (cd fe/ && mvn clean install -DskipTests)
- BE UT (Clang): Run BE unit test with Clang (DORIS_TOOLCHAIN=clang ./run-be-ut.sh --run --clean)
- BE UT (macOS): Run BE unit test on macOS (./run-be-ut.sh --run --clean)
- BE UT (Doris BE UT): BE unit tests will be executed: sh run-be-ut.sh --run
- FE UT (Doris FE UT): FE unit tests will be executed: sh run-fe-ut.sh --run
- License Check: License check, will check whether all source files contain Apache License Header
- ShellCheck: Check all shell scripts format. (sh build-support/shell-check.sh)
- Build Extensions / Build Broker: Build Broker (cd fs_brokers/apache_hdfs_broker/ && sh build.sh)
- Build Extensions / Build Documents: Build Documents (cd docs && /bin/bash build_help_zip.sh)
- P0 Regression (Doris RegressionCOMPILE (DORIS_COMPILE): Will execute the compilation of FE and BE (BUILD_TYPE=ASAN sh build.sh --fe --be), then trigger P0/P1/External Regression
- P0 Regression (Doris Regression): Will build and build the Doris environment of 1 FE and 1 BE, and execute regression p0 test(sh run-regression-test.sh --run -g p0)
- P1 Regression (Doris Regression): Will execute Will build the compilation Doris environment of 1 FE and 1 BE, and execute regression p1 test(sh buildrun-regression-test.sh --fe --be), and build run -g p1)
- External Regression (Doris External Regression): Will build the Doris environment of 1 FE and 1 BE, and execute regression p1 regression external test(sh run-regression-test.sh --run -g external_docker)
- performance (Doris Performance): Will execute the compilation of FE and BE (BUILD_TYPE=RELEASE sh build.sh --fe --be), build the Doris environment of 1 FE and 1 BE and execute some performance cases(see regression-test/pipeline/performance/)
- Build Third Party Libraries (Linux): Build the third party libraries on Linux x86_64 (cd thirdparty && ./build-thirdparty.sh)
- Build Third Party Libraries (macOS): Build the third party libraries on macOS x86_64 (cd thirdparty && ./build-thirdparty.sh)
...
2. How Checks are triggered?
1.The Checks 4, 5,106,11,12,13,14,15 are triggered by TeamCity.
...
buildall: This keyword will trigger other pipelinings all pipelines on teamcity other than external
compile: This keyword will trigger the code compilation pipeline for the corresponding branch pipeline of COMPILE (DORIS_COMPILE)
feut: This keyword will trigger the FE unit test pipeline pipeline of FE UT (Doris FE UT)
beut: This keyword will trigger the BE unit test pipeline pipeline of BE UT (Doris BE UT)
p0: This keyword will trigger the test pipeline for the P0 use case of P0 Regression (Doris Regression)
p1: This keyword will trigger the test pipeline for the P1 use case of P1 Regression (Doris Regression)
external: This keyword will trigger the pipeline of External Regression (Doris External Regression)
performance: This keyword will trigger the pipeline of performance (Doris Performance)
arm: This keyword will trigger tests for the external componentthe pipeline of P0 Regression (ARM pipeline)
clickbenchcloudut: This keyword will trigger the test pipeline for the clickbench of Cloud UT (Doris Cloud UT)
cloud_p0: This keyword will trigger the test pipeline of cloud_p0 (Doris Cloud Regression)
arm cloud_p1: This keyword will trigger the test pipeline for the arm P0 regressionof cloud_p1 (Doris Cloud Regression)
Note:
To avoid error firing, you need to include both run and the specified keyword,like "run p0" , "run buildall",this is so important!
- p0,p1, and external pipelining pipeline all depend on compile-phase output, so when you want to retry one of these pipelining pipelines separately, you need to make sure that the corresponding branch has compiled output. If not, please first run the compile phase by adding the keyword with compile in the comment area of the corresponding pull request. Build the dependency pipeline after compiling.
- When you use run buildall, it means that you have triggered compile feut beut p0 p1 multiple pipelines. you need to wait for the pipeline result. It is best not to trigger the same pipeline again while waiting for the result , unless the pipeline fails due to some accident
...
- Expected — Waiting for status to be reported: The pipeline is not started, waiting in the queue.
- Pending — TeamCity build started: The pipeline is running.
- TeamCity build finished: The pipeline finished successfully.
- TeamCity build failed: The pipeline finished with errors.
- Skip teamCity build: The pipeline does not need to run and just skiped.
You can click "Details" to go to the TeamCity Web UI. Or visit http://43.132.222.7:8111/login.html directly via web browser.
...
2. At the end of Build Log, you can find a download link to download all FE/BE log and coredump file
5. How to modify the configuration files used in the TeamCity pipelines?
- the pipeline of P0 Regression (Doris Regression) uses the conf in https://github.com/apache/doris/tree/master/regression-test/pipeline/p0/conf
- the pipeline of P1 Regression (Doris Regression) uses the conf in https://github.com/apache/doris/tree/master/regression-test/pipeline/p1/conf
- the pipeline of External Regression (Doris External Regression) uses the conf in https://github.com/apache/doris/tree/master/regression-test/pipeline/external/conf
- the pipeline of performance (Doris Performance) uses the conf in https://github.com/apache/doris/tree/master/regression-test/pipeline/performance/conf
- the pipeline of cloud_p0 (Doris Cloud Regression) uses the conf in https://github.com/apache/doris/tree/master/regression-test/pipeline/cloud_p0/conf
- the pipeline of cloud_p1 (Doris Cloud Regression) uses the conf in https://github.com/apache/doris/tree/master/regression-test/pipeline/cloud_p1/conf
6. Suggestions
If you have any suggestions and comments, welcome to email dev@doris.apache.org to discuss.
...