This is an archive of the discontinued LLVM Phabricator instance.

[zorg] Add sanitizer-bootstrap-lite bot.
ClosedPublic

Authored by earthdok on Dec 16 2014, 12:14 PM.

Details

Summary

Add a new sanitizer bot. The host compiler is clang fixed at a specific
revision; it will not be rebuilt unless the revision number is changed in the
bot config. The host compiler does incremental builds of (A,M)San-instrumented
LLVM/clang, which are then tested with check-llvm, check-clang.

Diff Detail

Event Timeline

earthdok updated this revision to Diff 17354.Dec 16 2014, 12:14 PM
earthdok retitled this revision from to [zorg] Add sanitizer-bootstrap-lite bot..
earthdok updated this object.
earthdok edited the test plan for this revision. (Show Details)
earthdok added reviewers: kcc, samsonov, eugenis.
earthdok added a subscriber: Unknown Object (MLST).
earthdok added inline comments.Dec 16 2014, 12:17 PM
buildbot/osuosl/master/config/slaves.py
161

No idea what "jobs" does.

kcc edited edge metadata.Dec 16 2014, 1:46 PM

mostly looks great

zorg/buildbot/builders/sanitizers/buildbot_bootstrap_lite.sh
2 ↗(On Diff #17354)

This it not bootstrap at all, I'd prefer another name (fast-sanitizer-build?).

earthdok added inline comments.Dec 16 2014, 4:21 PM
zorg/buildbot/builders/sanitizers/buildbot_bootstrap_lite.sh
2 ↗(On Diff #17354)

You're right. How about sanitizer-x86_64-linux-fast?

earthdok updated this revision to Diff 17387.Dec 17 2014, 6:13 AM
earthdok edited edge metadata.
  • rename
  • add a missing bit

Another thing I don't understand is how fatal and non-fatal steps are configured. I.e. here:

http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/14600

we fail to build the host compiler, so all remaining steps are skipped. On the other hand, when a test fails, we still run the remaining steps:

http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap/builds/5327

Yet, it looks like in both cases the script looks exactly the same:

(run_step) || echo @@@STEP_FAILURE@@@

eugenis edited edge metadata.Dec 17 2014, 7:39 AM

Another thing I don't understand is how fatal and non-fatal steps are configured. I.e. here:

http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/14600

we fail to build the host compiler, so all remaining steps are skipped. On the other hand, when a test fails, we still run the remaining steps:

http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap/builds/5327

Yet, it looks like in both cases the script looks exactly the same:

(run_step) || echo @@@STEP_FAILURE@@@

No, in the first case the line is:
(cd clang_build && cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \

${CMAKE_COMMON_OPTIONS} $LLVM_CHECKOUT)

And the script sets "-e", so a non-zero exit code in this line is fatal.

This could be made more consistent.

No, in the first case the line is:
(cd clang_build && cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \

${CMAKE_COMMON_OPTIONS} $LLVM_CHECKOUT)

But then we have:

(cd clang_build && make clang -j$MAKE_JOBS) || echo @@@STEP_FAILURE@@@

So a cmake failure is fatal, but a build failure is not. Ugh!

earthdok updated this revision to Diff 17403.Dec 17 2014, 10:06 AM
earthdok edited edge metadata.
  • fix the "build stage1 clang" step
earthdok accepted this revision.Dec 17 2014, 10:23 AM
earthdok added a reviewer: earthdok.

Committed r224445

This revision is now accepted and ready to land.Dec 17 2014, 10:23 AM
earthdok closed this revision.Dec 17 2014, 10:23 AM