[zorg] r183702 - Added new lld builder, slave, LLDWinBuildFactory.

Galina Kistanova via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 3 12:37:04 PST 2016


While we are on the subject, I'd like to validate this builder goals.

This builder would build on Windows lld + minimum required dependencies
natively by Visual Studio. Then it would run lld tests. We want it to be a
fast builder, ideally building every single commit.

Currently it builds by Visual Studio 2013, but I'm going to upgrade it to
Visual Studio 2015, unless somebody sees a special value of building by VS
2013.

Does this sound reasonable?
Anything to do differently?

Thanks

Galina




On Tue, Feb 2, 2016 at 7:04 PM, Sean Silva <chisophugis at gmail.com> wrote:

>
>
> On Tue, Feb 2, 2016 at 6:08 PM, Galina Kistanova <gkistanova at gmail.com>
> wrote:
>
>> Hi Sean,
>>
>> Sorry for the delay. It was busy couple days.​
>>
>> That particular builder was not intended to run tests. Back when it was
>> setup the lld test suite didn't run well on Windows.
>>
>> Though, you are right. I'm about to convert it to build with ninja and
>> run tests. If everything will go well, it will be ready tomorrow.
>>
>
> Thanks!
>
> -- Sean Silva
>
>
>>
>> Thanks
>>
>> Galina
>>
>>
>>
>>
>> On Fri, Jan 29, 2016 at 7:44 PM, Sean Silva <chisophugis at gmail.com>
>> wrote:
>>
>>>
>>>
>>> On Mon, Jun 10, 2013 at 3:22 PM, Galina Kistanova <gkistanova at gmail.com>
>>> wrote:
>>>
>>>> Author: gkistanova
>>>> Date: Mon Jun 10 17:22:01 2013
>>>> New Revision: 183702
>>>>
>>>> URL: http://llvm.org/viewvc/llvm-project?rev=183702&view=rev
>>>> Log:
>>>> Added new lld builder, slave, LLDWinBuildFactory.
>>>>
>>>> Modified:
>>>>     zorg/trunk/buildbot/osuosl/master/config/builders.py
>>>>     zorg/trunk/buildbot/osuosl/master/config/slaves.py
>>>>     zorg/trunk/zorg/buildbot/builders/LLDBuilder.py
>>>>
>>>> Modified: zorg/trunk/buildbot/osuosl/master/config/builders.py
>>>> URL:
>>>> http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/osuosl/master/config/builders.py?rev=183702&r1=183701&r2=183702&view=diff
>>>>
>>>> ==============================================================================
>>>> --- zorg/trunk/buildbot/osuosl/master/config/builders.py (original)
>>>> +++ zorg/trunk/buildbot/osuosl/master/config/builders.py Mon Jun 10
>>>> 17:22:01 2013
>>>> @@ -599,6 +599,13 @@ def _get_lld_builders():
>>>>           'builddir':"lld-x86_64-darwin11",
>>>>           'factory': LLDBuilder.getLLDBuildFactory(),
>>>>           'category'   : 'lld'},
>>>> +
>>>> +        {'name': "lld-x86_64-win7",
>>>> +         'slavenames' :["as-bldslv4"],
>>>> +         'builddir':"lld-x86_64-win7",
>>>> +         'factory': LLDBuilder.getLLDWinBuildFactory(clean=False),
>>>> +         'category'   : 'lld'},
>>>> +
>>>>           ]
>>>>
>>>>  # Sanitizer builders.
>>>>
>>>> Modified: zorg/trunk/buildbot/osuosl/master/config/slaves.py
>>>> URL:
>>>> http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/osuosl/master/config/slaves.py?rev=183702&r1=183701&r2=183702&view=diff
>>>>
>>>> ==============================================================================
>>>> --- zorg/trunk/buildbot/osuosl/master/config/slaves.py (original)
>>>> +++ zorg/trunk/buildbot/osuosl/master/config/slaves.py Mon Jun 10
>>>> 17:22:01 2013
>>>> @@ -202,6 +202,9 @@ def get_build_slaves():
>>>>          # Ubuntu x86-64, 12x Intel(R) Xeon(R) CPU X5650 @ 2.67GHz
>>>>          create_slave("sanitizer-buildbot1", properties={'jobs': 8},
>>>> max_builds=1),
>>>>
>>>> +        # Windows 7 Professional x64
>>>> +        create_slave("as-bldslv4", properties={'jobs' : 2},
>>>> max_builds=1),
>>>> +
>>>>          # Defunct.
>>>>          # Pentium Dual CPU T3400 @ 2.1GHz
>>>>          #create_slave("dumitrescu1", properties={'jobs' : 2},
>>>> max_builds=1),
>>>>
>>>> Modified: zorg/trunk/zorg/buildbot/builders/LLDBuilder.py
>>>> URL:
>>>> http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/builders/LLDBuilder.py?rev=183702&r1=183701&r2=183702&view=diff
>>>>
>>>> ==============================================================================
>>>> --- zorg/trunk/zorg/buildbot/builders/LLDBuilder.py (original)
>>>> +++ zorg/trunk/zorg/buildbot/builders/LLDBuilder.py Mon Jun 10 17:22:01
>>>> 2013
>>>> @@ -3,7 +3,7 @@ import os
>>>>  import buildbot
>>>>  import buildbot.process.factory
>>>>  from buildbot.steps.source import SVN, Git
>>>> -from buildbot.steps.shell import Configure, ShellCommand
>>>> +from buildbot.steps.shell import Configure, ShellCommand, SetProperty
>>>>  from buildbot.process.properties import WithProperties
>>>>
>>>>  def getLLDBuildFactory(
>>>> @@ -74,3 +74,91 @@ def getLLDBuildFactory(
>>>>                                 workdir=llvm_objdir))
>>>>
>>>>      return f
>>>> +
>>>> +
>>>> +def getLLDWinBuildFactory(
>>>> +           clean = True):
>>>> +
>>>> +    llvm_srcdir = "llvm.src"
>>>> +    llvm_objdir = "llvm.obj"
>>>> +
>>>> +    f = buildbot.process.factory.BuildFactory()
>>>> +
>>>> +    # Get LLVM and Lld
>>>> +    f.addStep(SVN(name='svn-llvm',
>>>> +                  mode='update',
>>>> +                  baseURL='http://llvm.org/svn/llvm-project/llvm/',
>>>> +                  defaultBranch='trunk',
>>>> +                  workdir=llvm_srcdir))
>>>> +    f.addStep(SVN(name='svn-lld',
>>>> +                  mode='update',
>>>> +                  baseURL='http://llvm.org/svn/llvm-project/lld/',
>>>> +                  defaultBranch='trunk',
>>>> +                  workdir='%s/tools/lld' % llvm_srcdir))
>>>> +
>>>> +    # Clean directory, if requested.
>>>> +    if clean:
>>>> +        f.addStep(ShellCommand(name="rm-llvm_objdir",
>>>> +                               command=["if", "exist", llvm_objdir,
>>>> +                                        "rmdir", "/S", "/Q",
>>>> llvm_objdir],
>>>> +                               haltOnFailure=True,
>>>> +                               description=["rm build dir", "llvm"],
>>>> +                               workdir="."))
>>>> +
>>>> +    f.addStep(ShellCommand(name="create-build-dir",
>>>> +                           command=["if", "not", "exist", llvm_objdir,
>>>> +                                    "mkdir", llvm_objdir],
>>>> +                           haltOnFailure=True,
>>>> +                           description=["create build dir"],
>>>> +                           workdir="."))
>>>> +
>>>> +    # Is CMake configuration already done?
>>>> +    checkCMakeCommand = [
>>>> +        "dir", "CMakeCache.txt", ">", "NUL",
>>>> +        "&&", "echo", "Yes",
>>>> +        "||", "echo", "No", ">", "NUL"]
>>>> +
>>>> +    # Note: ShellCommand does not pass the params with special symbols
>>>> right.
>>>> +    # The " ".join is a workaround for this bug.
>>>> +    f.addStep(SetProperty(name="CMake_done",
>>>> +                          workdir=llvm_objdir,
>>>> +                          command=WithProperties("
>>>> ".join(checkCMakeCommand)),
>>>> +                                   #"cmd", "/C",
>>>> +                                   #" ".join(checkCMakeCommand)],
>>>> +                          haltOnFailure=True,
>>>> +                          description=["check CMake_done"],
>>>> +                          property="CMake_done"))
>>>> +
>>>> +    # Create configuration files with cmake
>>>> +    cmakeCommand = [
>>>> +        "cmake",
>>>> +        "-DCMAKE_BUILD_TYPE=Release",
>>>> +        "-DLLVM_TARGETS_TO_BUILD=X86",
>>>> +        "../%s" % llvm_srcdir]
>>>> +
>>>> +    f.addStep(ShellCommand(
>>>> +        name="cmake-configure",
>>>> +        description=["cmake configure"],
>>>> +        haltOnFailure=True,
>>>> +        command=WithProperties(" ".join(cmakeCommand)),
>>>> +        workdir=llvm_objdir,
>>>> +        doStepIf=lambda step: step.build.getProperty("CMake_done") !=
>>>> "Yes"))
>>>> +
>>>> +    # Build Lld
>>>> +    f.addStep(ShellCommand(name="build_Lld",
>>>> +                               command=["msbuild",
>>>> +                                        #"/maxcpucount:1",
>>>> +                                        "/verbosity:minimal",
>>>> +
>>>> "/property:Configuration=Release",
>>>> +                                        "ALL_BUILD.vcxproj"],
>>>> +                               haltOnFailure=True,
>>>> +                               description=["build lld"],
>>>> +                               workdir=llvm_objdir))
>>>> +    # Test Lld
>>>> +    #f.addStep(ShellCommand(name="test_lld",
>>>> +    #                           command=["make", "lld-test"],
>>>> +    #                           haltOnFailure=True,
>>>> +    #                           description=["test lld"],
>>>> +    #                           workdir=llvm_objdir))
>>>>
>>>
>>> Why does this bot not run tests?
>>>
>>> -- Sean Silva
>>>
>>>
>>>
>>>> +
>>>> +    return f
>>>> \ No newline at end of file
>>>>
>>>>
>>>> _______________________________________________
>>>> llvm-commits mailing list
>>>> llvm-commits at cs.uiuc.edu
>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>>>
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160203/b5d4cf01/attachment.html>


More information about the llvm-commits mailing list