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

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 3 12:41:23 PST 2016


On Wed, Feb 3, 2016 at 12:37 PM, Galina Kistanova via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> 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?
>

Sounds good to me. (I'm not using VS2015 yet, but happy to migrate.)


>
> 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
>>>>>
>>>>
>>>>
>>>
>>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160203/23dc9d59/attachment.html>


More information about the llvm-commits mailing list