Page MenuHomePhabricator

[zorg] Add buildbot with reverse iteration enabled
ClosedPublic

Authored by pzheng on Aug 1 2017, 5:41 PM.

Details

Summary

This reverse iteration buildbot builds LLVM, Clang and Polly with
LLVM_REVERSE_ITERATION enabled, and subsequently runs "make check-all". With
LLVM_REVERSE_ITERATION enabled, all supported unordered llvm containers would be
iterated in reverse order.

Diff Detail

Event Timeline

pzheng created this revision.Aug 1 2017, 5:41 PM
mgrang edited edge metadata.

Added Victor Leschuk as reviewer since Galina is on vacation.

mgrang added a comment.Aug 1 2017, 6:22 PM

LGTM. However, I would wait for someone more aware of buildbots to +1 this.

vleschuk added inline comments.Aug 1 2017, 9:30 PM
buildbot/osuosl/master/config/builders.py
805–806

Why do you need to change this?

zorg/buildbot/builders/PollyBuilder.py
30 ↗(On Diff #109256)

How are these changes related to adding reverse iterations builder?

pzheng added inline comments.Aug 2 2017, 10:58 AM
buildbot/osuosl/master/config/builders.py
805–806

This is actually a clean up for the PollyBuilder. The PollyBuilder has a "make polly-check-format" step which is no longer needed since "make check-polly" (or "make check-all" which we are adding) also includes it. Since we are reusing getPollyBuildFactory in the reverse iteration buildbot, it seems to be a good time to clean up the PollyBuiler at the same time.

zorg/buildbot/builders/PollyBuilder.py
30 ↗(On Diff #109256)

We want to add a "make check-all" step in the reverse iterator buildbot, but only "make check-polly" is available in getPollyBuildFactory currently. Therefore we are introducing "checkAll" to control whether to run "make check-all" or "make check-polly". "checkAll" defaults to false which is the desired behavior for existing Polly builders. For the reverse iteration buildbot, "checkAll" is set to true to run "make check-all" instead of "make check-polly".

grosser edited edge metadata.Aug 2 2017, 11:30 AM

this lgtm from my side

buildbot/osuosl/master/config/builders.py
805–806

I am fine with this change!

grosser accepted this revision.Aug 2 2017, 11:31 AM

@vleschuk is right that it is unclear why you change the Polly builder. I would suggest to motivate in the commit message that you modify the Polly builder to also include Polly into these builds!

This revision is now accepted and ready to land.Aug 2 2017, 11:31 AM
pzheng edited the summary of this revision. (Show Details)Aug 2 2017, 12:08 PM

@vleschuk is right that it is unclear why you change the Polly builder. I would suggest to motivate in the commit message that you modify the Polly builder to also include Polly into these builds!

Agree. I have updated the commit message to make it clear.

Cool, thanks!

mgrang accepted this revision.Aug 2 2017, 12:26 PM
vleschuk added inline comments.Aug 2 2017, 8:54 PM
buildbot/osuosl/master/config/builders.py
805–806

That's ok. But I'd prefer more granular commits. Could you please split changes into separate commits next time?

We could even split things in smaller commits this time, I assume. If there are concerns, I believe these should be addressed.

One could e.g.:

  1. Remove formatting from the polly buildbot
  2. Add then the new checkAll feature
  3. Then add the new buildbot

And please excuse the "!", this slipped there by accident.

pzheng updated this revision to Diff 109608.Aug 3 2017, 11:43 AM
pzheng edited the summary of this revision. (Show Details)
grosser accepted this revision.Aug 3 2017, 11:46 AM

Very nice!

pzheng closed this revision.Aug 3 2017, 11:50 AM

@vleschuk, can you please update the buildbot master to make the changes live?