[zorg] r263313 - Allow build to determine the branch name from the SVN repository url
Marc Schifer via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 11 16:34:26 PST 2016
Author: mschifer
Date: Fri Mar 11 18:34:26 2016
New Revision: 263313
URL: http://llvm.org/viewvc/llvm-project?rev=263313&view=rev
Log:
Allow build to determine the branch name from the SVN repository url
Modified:
zorg/trunk/test/jenkins/test_build.py
zorg/trunk/zorg/jenkins/build.py
Modified: zorg/trunk/test/jenkins/test_build.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/test/jenkins/test_build.py?rev=263313&r1=263312&r2=263313&view=diff
==============================================================================
--- zorg/trunk/test/jenkins/test_build.py (original)
+++ zorg/trunk/test/jenkins/test_build.py Fri Mar 11 18:34:26 2016
@@ -36,7 +36,7 @@
# CHECK-SIMPLE: '-DCOMPILER_RT_BUILD_SANITIZERS=On'
# CHECK-SIMPLE: '-DCMAKE_INSTALL_PREFIX
# CHECK-SIMPLE: '-DLLVM_ENABLE_PIC=On'
-# CHECK-SIMPLE: '-DLLVM_REPOSITORY=None'
+# CHECK-SIMPLE: '-DLLVM_REPOSITORY=/foo/workspace/llvm.src'
# CHECK-SIMPLE: '-DSVN_REVISION=1234'
# CHECK-SIMPLE: '-DLLVM_BUILD_TESTS=On'
# CHECK-SIMPLE: '-DLLVM_INCLUDE_TESTS=On'
Modified: zorg/trunk/zorg/jenkins/build.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/jenkins/build.py?rev=263313&r1=263312&r2=263313&view=diff
==============================================================================
--- zorg/trunk/zorg/jenkins/build.py (original)
+++ zorg/trunk/zorg/jenkins/build.py Fri Mar 11 18:34:26 2016
@@ -9,6 +9,7 @@ import argparse
import urllib
import shutil
import math
+import xml.etree.ElementTree as ET
SERVER = "labmaster2.local"
@@ -66,7 +67,7 @@ class Configuration(object):
self.svn_rev = os.environ.get('LLVM_REV', 'NONE')
self.nobootstrap = True
self.device = None
- self._svn_url = None
+ self._svn_url_cache = None
# Import all of the command line arguments into the config object
self.__dict__.update(vars(args))
@@ -127,6 +128,26 @@ class Configuration(object):
else:
return "master"
+ @property
+ def _svn_url(self):
+ if self._svn_url_cache:
+ return self._svn_url_cache
+ # Jenkins uses SVN_URL, and for more than one repo builds, numbers them.
+ svn_url = os.environ.get('SVN_URL',
+ os.environ.get('SVN_URL_1', None))
+ if svn_url is None:
+ svn_url = self.grab_svn_url()
+ self._svn_url_cache = svn_url
+ return svn_url
+
+ def grab_svn_url(self):
+ if os.environ.get('TESTING', False):
+ return '/foo/workspace/llvm.src'
+ cmd = ['svn', 'info', '--xml', os.path.join(self.workspace,'llvm.src')]
+ out = run_collect_output(cmd)
+ x = ET.fromstring(out)
+ url = x.find('entry').find('url').text
+ return url
def link_memory_usage(self):
"""Guesstimate the maximum link memory usage for this build.
@@ -716,6 +737,7 @@ TEST_VALS = {"sysctl hw.ncpu": "hw.ncpu:
def run_collect_output(cmd):
"""Run cmd, and return the output"""
if os.getenv("TESTING"):
+ print 'TV: ' + ' '.join(cmd)
return TEST_VALS[' '.join(cmd)]
return subprocess.check_output(cmd)
More information about the llvm-commits
mailing list