Versions Compared

Key

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

...

  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.

...

How to View Checks

3.1 Github Action

Github Action use Github hosted VM to run the Checks.

...

TeamCity Pipelines are running on self-hosted VM. 

3.

...

2.1

...

Login to TeamCity Server

Find the target Pull Request:

Image Added

There are serveral status of TeamCity Piplline:

  • 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.

You can Before you start, you need to know the open source community pipeline address: click "Details" to go to the TeamCity Web UI. Or visit http://43.132.222.7:8111. Ordinary users can view it as a guest (/login.html directly via web browser.

Image Added

Anyone can click "Log in as guest), or jump directly to the pipeline details page from github.

Image Removed

How to check pipeline results in github

This method is suitable for only checking the build results of a certain pull request

1.  Find the target pull request

Find the target pull request in the git repository of apache/incubator-doris

2. Check teamcity build results in github

On the details page of the target pull request, drop down to the "Review required" section, slide the gray bar on the right, and find the FE UT (Doris FE UT), BE UT (Doris BE UT), and P0 Regression (Doris P0 regression) tasks. A green tick indicates that the build task succeeded, and a red cross indicates that the build task failed. The build result of pull/8901 is shown here

Image Removed

3. Redirect to teamcity to check the specific build task information

" to login to TeamCity Server. 

3.2.2 Check the specific pipeline status

If you jump to TeamCity by clicking the "Details" button in Pull Request. You will be lead to the details part of specified pipeline:

Image Added

Click "Details" on the right side of the construction task, you can jump to teamcity to check the specific information of the build task. The navigation bar of the construction information page contains 5 parts:

  1. Overview

...

  1. : Display a simple report of task execution

...

  1. .
  2. Changes: Display that the build task involves repository, branch, commit history and other information

...

  1. Tests

...

  1. : Display the result of the case execution. If you want to view the failure details, you can click "Failure" on the left side of the failure case to jump to the specific error information page

...

  1. .
  2. Build Log: Display the specific log of the task execution, supports retrieval, and supports

...

  1. log download;

...

  1. Artifacts: Useless for now.

Basically, you can just visit Overview to see which tests are failed and visit Build Log to see the complete build logs.


3.2.3 Check pipeline history

If you visit TeamCity via http://43.132.222.7:8111/login.html, you can also see all other pipelines waiting or running in TeamCity

Image Removed

How to check pipeline details in teamcity

This is more appropriate if you want to view the build history of many pull requests

1. Choose "Doris" project

Image Modified

2. Get the specific pull request implementation

2.1  Get the latest execution task of the pull request

Filter the pull request you want to get on the right side of the Doris project, and expand the sub-project to see the latest record details built under the pull request.

Green indicates that the build was successfully executed, red Red indicates that the build task failed, and the reason for the failure is displayed.

Taking pull/8901 as an example here, the latest build task of pull/8901 in each subproject is queried in the Doris project. The execution of FE UT fails, and the execution of BE UT and P0 Regression succeeds.

Image Modified

Image Modified

2.2  Get the historical execution tasks of the pull request

If you want to view the historical task records built by the pull request, you can select a branch under each subproject, and you can get the historical records of the branch execution.

Image Modified

3.  Get the details of a specific task

Click the task id to jump to the task details page, and select the information you want to view in the navigation bar. Same as described in Section 3.2.2.

Image Added

Image Added

Overview will give a simple report of task execution; changes will show that the build task involves repository, branch, commit history and other information; Tests will display the result of the case execution. If you want to view the failure details, you can click "Failure" on the left side of the failure case to jump to the specific error information page; the Build log will display The specific log of the task execution, supports retrieval, and supports global log download; Artifacts refers to the content of the task release, but the three pipelines of Doris are not involved, ignore. If you haven't found a build task matching the target branch here, you can continue to step 4.

Image Removed

Image Removed

4. checking pending builds

If the branch construction task has not been found in the previous steps, the target task is still in the queue and has not been scheduled.

You can go to "Queue" and use the target pull request to perform a global search to check whether the task is in the queue.

Image Modified

Other questions about Teamcity pipeline

4. FAQ

1. Why have my PR Checks never started running?

For Github Action Checks, they should be triggered and run immediately.

But If you are "first-time contributor", you need to ask one of Doris Committer to approve the checks running.

For TeamCity Pipeline, first of all, the trigger interval of TeamCity is 10 minutes, so please wait at least 10 minutes.

Secondly, because there are only 3 servers running these pipelines, only one pipeline can be run on the server at the same time every day,

so when there are many PRs, the pipeline will enter the waiting queue. See checking pending builds to view the pending builds.

2. How

...

to re-trigger Teamcity pipeline

1.  Submit a new commit to

...

your Pull Request

Any update to the Pull Request will trigger a new PipelineAfter checking the error information of the pipeline, it is confirmed that it is a code problem. You can submit the code to fix the problem and trigger 3 new pipeline build tasks, including FE UT (Doris FE UT), BE UT (Doris BE UT), and P0 Regression (Doris P0 regression) construction tasks.

2. Contact the

...

Doris PMC to re-trigger

If only some of the build tasks fail, and it is confirmed that it is not a code problem, you can contact the administrator and inform the task link that needs to be re-executed. Administrator contact information (****).

Advice on Teamcity pipline

...

Occasionally, the check may fail because of a problem with the Pipeline itself, rather than a problem with the code.

At this point the Doris PMC can be contacted via the dev@doris.apache.org for manual re-triggering.

3. The check fails, but the cause of the error is not caused by my code.

In some cases, some problematic code may be incorrectly merged into the trunk,

which may cause all subsequent PRs developed based on the trunk to encounter check failures.

Please refer to the following process to solve:

  1. Email dev@doris.apache.org for help with error messages.
  2. The community will help to fix related issues.
  3. After the related problem code is merged into the master, rebase the master code and update the Pull Request to re-trigger Checks and pass the check.

5. Suggestions

If you have any suggestions and comments, welcome to email dev@doris.apache.org to discuss

...

.