Page MenuHomePhabricator

[zorg] Add lldb build factory that launches scripts on slave machine
ClosedPublic

Authored by chying on Jul 22 2015, 7:08 PM.

Details

Summary
  • Add new function getLLDBScriptCommandsFactory, it will launch script file for each step
  • Add new builders lldb Windows, and lldb buildserver
  • Create triggerable scheduler to trigger android builds
  • Add new builders to rotation email monitor list

Diff Detail

Repository
rL LLVM

Event Timeline

chying updated this revision to Diff 30441.Jul 22 2015, 7:08 PM
chying retitled this revision from to [zorg] Add lldb build factowqry that launches scripts on slave machine.
chying updated this object.
chying added reviewers: chaoren, vharron.
chying added a subscriber: llvm-commits.
chaoren added inline comments.Jul 24 2015, 11:35 AM
zorg/buildbot/builders/LLDBBuilder.py
923 ↗(On Diff #30441)

Is this for both Linux/OS X and Windows? On Linux/OS X, *.sh might be more appropriate. You can add another argument called 'scriptExtension' or something.

926 ↗(On Diff #30441)

We don't need this until we start testing. Could you move this between build and test?

943 ↗(On Diff #30441)

We can probably condense cleanup, checkout, and configure into one configure script. I don't think the first two steps would be useful to see separately.

chaoren retitled this revision from [zorg] Add lldb build factowqry that launches scripts on slave machine to [zorg] Add lldb build factory that launches scripts on slave machine.Jul 24 2015, 11:40 AM
chying added inline comments.Jul 24 2015, 11:53 AM
zorg/buildbot/builders/LLDBBuilder.py
923 ↗(On Diff #30441)

Yes, this factory should work for all host platforms.
Will use different extensions.

926 ↗(On Diff #30441)

I was thinking if this revision of binaries doesn't exist, then the build will terminate from here.
This might happen when the build is not triggered by buildserver, like when user click Force Build from webpage.

943 ↗(On Diff #30441)

We had some build failures with source checkout due to SVN server issue.
How about combine cleanup and checkout?

chaoren added inline comments.Jul 24 2015, 11:56 AM
zorg/buildbot/builders/LLDBBuilder.py
926 ↗(On Diff #30441)

like when user click Force Build from webpage

In that case shouldn't we just fetch the most recent lldb-server?

943 ↗(On Diff #30441)

Sounds good.

chying added inline comments.Jul 24 2015, 12:05 PM
zorg/buildbot/builders/LLDBBuilder.py
926 ↗(On Diff #30441)

Yes, when user click Force Build, it should fetch most recent revision.
But it depends on buildserver to create lldb-server binaries.
It is possible bulidserver hasn't finished build with the most recent revision.

chaoren added inline comments.Jul 24 2015, 12:20 PM
zorg/buildbot/builders/LLDBBuilder.py
926 ↗(On Diff #30441)

The Force Build button seems useless then, unless you add some sort of circular trigger. It doesn't make sense for the bot to just fail either. Can you disable the button just for these bots?

chying updated this revision to Diff 30593.Jul 24 2015, 12:51 PM

Address code review feedback

  • Combine clewqanup step with source checkout
  • Move download binary step after local build
  • Use different extension based on host platform
  • Add new argument to indicate whether download binary or not
  • Remove triggerBuild argument as it always has the same value with bulidAndroid
chying added inline comments.Jul 24 2015, 12:53 PM
zorg/buildbot/builders/LLDBBuilder.py
926 ↗(On Diff #30593)

Had offline discussion with Chaoren, Force Build will take the latest available lldb-server binaries for android. It will be handled in downloadBinary script.

chaoren accepted this revision.Jul 24 2015, 2:28 PM
chaoren edited edge metadata.

LGTM.

This revision is now accepted and ready to land.Jul 24 2015, 2:28 PM
This revision was automatically updated to reflect the committed changes.