How to Use CI Result in Apollo

In Apollo, whether a PR can be merged depends on CI result and CLA.

What works will CI check?

Apollo CI will run the following steps:

  1. Checkout your PR into Apollo codebase and build

  2. Lint your code including .cc, .h, .py, BUILD, etc

  3. Run all unit tests

So it’s recommended that the following commands should be run before commiting your code.

./apollo.sh lint
./apollo.sh build
./apollo.sh test

When your PR your PR got blocked by CI, you can click Details

build_failed

Now you are in our CI system, enter Build Log to see detailed fail log.

detail_log

Possible Errors And Solution

Error: “FAIL: //modules/perception/base:blob_cpplint”

lint

This is due to lint error. Apollo adopted Google coding style, so the header files shoud be in the suggested order. If you can’t find the suggestion, please turn the log up and seek carefully.

Error: “FAIL: //modules/perception/base:blob_test”

test_failed

test_failed_log

This is due to a unit test failure. You can correct the unit test according to the log. Especially when timeout happens, you can try changing the size filed in BUILD from small to medium or large, hope it works.

If more complicated situation happens, please feel free to comment in your PR.