Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

...

1. What is Github Checks

Github checks consists of a series of checking tasks, designed to verify whether the basic functions of doris pass. The main test branch is the pull requests that the developers of the doris open source community synchronize to the doris master branch. Checking tasks are tested separately through 3 pipelines of teamcity: Doris FE UT, Doris BE UT, Doris P0 Regression,and the final test results will be pushed to github.

How to trigger Checks

No manual triggering required. Every commit of every active pull request related to the Doris master branch will be detected by teamcity server after 10 minutes, teamcity automatically generates 3 pipeline tasks (Doris FE UT, Doris BE UT, Doris P0 Regression) related to the commit, waiting for scheduling execution.

Teamcity Pipeline Guidance

...

Image Added

When a Pull Request is submitted, Github Checks are automatically triggered.

The following Checks are REQUIRED, and only after passing these checks can the code be merged:

  1. FE UT (Doris FE UT): FE unit tests will be executed: sh run-fe-ut.sh --run
  2. BE UT (Doris BE UT): BE unit tests will be executed: sh run-be-ut.sh --run
  3. P0 regression (Doris P0 Regression): Will execute the compilation of FE and BE (sh build.sh --fe --be), and build the Doris environment of 1 FE and 1 BE, and execute regression test(sh run-regression-test.sh --run)
  4. License Check / License Check: License check, will check whether all source files contain Apache License Header
  5. Build Extensions / Build Extensions: Will compile fs_broker(cd fs_brokers/apache_hdfs_broker/ && sh build.sh) and docs(cd docs && sh build_help_zip.sh && npm install && npm run build)
  6. BE Code Formatter / Clang Formatter: BE C++ code format check(sh build-support/check-format.sh)

The other Checks are NOT REQUIRED. Which means, even if these checks fail, it does not affect the merge of the Pull Request.

2. How Checks are triggered?

All checks are automatically triggered when a Pull Request is submitted, or when the Pull Request is updated.

  1. The Checks 1,2,3 are triggered by TeamCity. The TeamCity service will detect the change of Doris Pull Request every 10 minutes and trigger the corresponding check(TeamCity Pipeline).
  2. The Checks 4,5,6 are triggered by Github Action. They will be triggered immediately after PR is submitted or updated.

3. Checks Guidance

3.1 Github Action

Github Action use Github hosted VM to run the Checks.

You can click "Details" button behind the Checks to see the build log of the corresponding Check.

Image Added

Image Added

3.2 TeamCity Pipeline Guidance

TeamCity Pipelines are running on self-hosted VM.

3.1.1 What is TeamCity Server Address

Before you start, you need to know the open source community pipeline address: http://43.132.222.7:8111. Ordinary users can view it as a guest (Log in as guest), or jump directly to the pipeline details page from github.

...