diff options
Diffstat (limited to 'build_files/buildbot')
10 files changed, 87 insertions, 35 deletions
diff --git a/build_files/buildbot/config/user-config-cuda-glibc211-i686.py b/build_files/buildbot/config/user-config-cuda-glibc211-i686.py index 854f535398b..ae5cbac8cc7 100644 --- a/build_files/buildbot/config/user-config-cuda-glibc211-i686.py +++ b/build_files/buildbot/config/user-config-cuda-glibc211-i686.py @@ -2,4 +2,4 @@ BF_BUILDDIR = '../blender-build/linux-glibc211-i686' BF_INSTALLDIR = '../blender-install/linux-glibc211-i686' BF_NUMJOBS = 1 -BF_CYCLES_CUDA_BINARIES_ARCH = ['sm_20', 'sm_21', 'sm_30', 'sm_35', 'sm_50'] +BF_CYCLES_CUDA_BINARIES_ARCH = ['sm_20', 'sm_21', 'sm_30', 'sm_35', 'sm_50', 'sm_52'] diff --git a/build_files/buildbot/config/user-config-cuda-glibc211-x86_64.py b/build_files/buildbot/config/user-config-cuda-glibc211-x86_64.py index 7e928948762..29b1b9f1ad7 100644 --- a/build_files/buildbot/config/user-config-cuda-glibc211-x86_64.py +++ b/build_files/buildbot/config/user-config-cuda-glibc211-x86_64.py @@ -2,4 +2,4 @@ BF_BUILDDIR = '../blender-build/linux-glibc211-x86_64' BF_INSTALLDIR = '../blender-install/linux-glibc211-x86_64' BF_NUMJOBS = 1 -BF_CYCLES_CUDA_BINARIES_ARCH = ['sm_20', 'sm_21', 'sm_30', 'sm_35', 'sm_50'] +BF_CYCLES_CUDA_BINARIES_ARCH = ['sm_20', 'sm_21', 'sm_30', 'sm_35', 'sm_50', 'sm_52'] diff --git a/build_files/buildbot/config/user-config-glibc211-i686.py b/build_files/buildbot/config/user-config-glibc211-i686.py index 0971735f641..59a11072f2b 100644 --- a/build_files/buildbot/config/user-config-glibc211-i686.py +++ b/build_files/buildbot/config/user-config-glibc211-i686.py @@ -79,6 +79,8 @@ WITH_BF_STATICZLIB = True BF_ZLIB_LIB_STATIC = '${BF_ZLIB}/lib/libz.a' WITH_BF_SDL = True +WITH_BF_SDL_DYNLOAD = True + WITH_BF_OGG = True WITH_BF_OPENMP = True diff --git a/build_files/buildbot/config/user-config-glibc211-x86_64.py b/build_files/buildbot/config/user-config-glibc211-x86_64.py index 748d1004850..a0ae6122944 100644 --- a/build_files/buildbot/config/user-config-glibc211-x86_64.py +++ b/build_files/buildbot/config/user-config-glibc211-x86_64.py @@ -79,6 +79,8 @@ WITH_BF_STATICZLIB = True BF_ZLIB_LIB_STATIC = '${BF_ZLIB}/lib/libz.a' WITH_BF_SDL = True +WITH_BF_SDL_DYNLOAD = True + WITH_BF_OGG = True WITH_BF_OPENMP = True diff --git a/build_files/buildbot/config/user-config-player-glibc211-i686.py b/build_files/buildbot/config/user-config-player-glibc211-i686.py index 384da4070eb..b3c26ebb310 100644 --- a/build_files/buildbot/config/user-config-player-glibc211-i686.py +++ b/build_files/buildbot/config/user-config-player-glibc211-i686.py @@ -64,6 +64,8 @@ WITH_BF_STATICZLIB = True BF_ZLIB_LIB_STATIC = '${BF_ZLIB}/lib/libz.a' WITH_BF_SDL = True +WITH_BF_SDL_DYNLOAD = True + WITH_BF_OGG = False WITH_BF_OPENMP = True diff --git a/build_files/buildbot/config/user-config-player-glibc211-x86_64.py b/build_files/buildbot/config/user-config-player-glibc211-x86_64.py index 5176d59d5a0..173e15b08ca 100644 --- a/build_files/buildbot/config/user-config-player-glibc211-x86_64.py +++ b/build_files/buildbot/config/user-config-player-glibc211-x86_64.py @@ -64,6 +64,8 @@ WITH_BF_STATICZLIB = True BF_ZLIB_LIB_STATIC = '${BF_ZLIB}/lib/libz.a' WITH_BF_SDL = True +WITH_BF_SDL_DYNLOAD = True + WITH_BF_OGG = False WITH_BF_OPENMP = True diff --git a/build_files/buildbot/master.cfg b/build_files/buildbot/master.cfg index 5f315337d3a..e96f49bdb5f 100644 --- a/build_files/buildbot/master.cfg +++ b/build_files/buildbot/master.cfg @@ -3,6 +3,12 @@ # <pep8 compliant> +# List of the branches being built automatically overnight +NIGHT_SCHEDULE_BRANCHES=[None, "gooseberry"] + +# List of the branches available for force build +FORCE_SCHEDULE_BRANCHES=["master", "gooseberry", "experimental-build"] + """ Stock Twisted directory lister doesn't provide any information about last file modification time, we hack the class a bit in order to have such functionaliity @@ -11,7 +17,6 @@ modification time, we hack the class a bit in order to have such functionaliity from buildbot.status.web.base import DirectoryLister - def get_files_and_directories(self, directory): from twisted.web.static import (getTypeAndEncoding, formatFileSize) @@ -113,7 +118,7 @@ def schedule_force_build(name): codebases=[forcesched.CodebaseParameter( codebase="blender", branch=forcesched.ChoiceStringParameter( - name="branch", choices=["master", "testbuild"], default="master"), + name="branch", choices=FORCE_SCHEDULE_BRANCHES, default="master"), # Do not hide revision, can be handy! repository=forcesched.FixedParameter(name="repository", default="", hide=True), project=forcesched.FixedParameter(name="project", default="", hide=True)), @@ -127,18 +132,22 @@ def schedule_force_build(name): def schedule_build(name, hour, minute=0): - c['schedulers'].append(timed.Nightly(name='nightly ' + name, - codebases={ - "blender": {"repository": ""}, - "blender-translations": {"repository": ""}, - "blender-addons": {"repository": ""}, - "blender-addons-contrib": {"repository": ""}, - "scons": {"repository": ""}, - "lib svn": {"repository": ""}}, - branch=None, - builderNames=[name], - hour=hour, - minute=minute)) + for current_branch in NIGHT_SCHEDULE_BRANCHES: + scheduler_name = "nightly " + name + if current_branch: + scheduler_name += ' ' + current_branch + c['schedulers'].append(timed.Nightly(name=scheduler_name, + codebases={ + "blender": {"repository": ""}, + "blender-translations": {"repository": "", "branch": "master"}, + "blender-addons": {"repository": "", "branch": "master"}, + "blender-addons-contrib": {"repository": "", "branch": "master"}, + "scons": {"repository": "", "branch": "master"}, + "lib svn": {"repository": "", "branch": "master"}}, + branch=current_branch, + builderNames=[name], + hour=hour, + minute=minute)) # BUILDERS @@ -295,6 +304,8 @@ add_builder(c, 'linux_glibc211_i386_scons', '', generic_builder, hour=1) add_builder(c, 'linux_glibc211_x86_64_scons', '', generic_builder, hour=2) add_builder(c, 'win32_scons_vc2013', 'windows_vc12', generic_builder, hour=1) add_builder(c, 'win64_scons_vc2013', 'win64_vc12', generic_builder, hour=2) +add_builder(c, 'win32_cmake_vc2013', 'windows_vc12', generic_builder, hour=3) +add_builder(c, 'win64_cmake_vc2013', 'win64_vc12', generic_builder, hour=4) #add_builder(c, 'mingw_win32_scons', 'mingw32', generic_builder, hour=4) add_builder(c, 'mingw_win64_scons', 'mingw64', generic_builder, hour=3) #add_builder(c, 'freebsd_i386_cmake', '', generic_builder, hour=1) diff --git a/build_files/buildbot/master_unpack.py b/build_files/buildbot/master_unpack.py index ecacf3bff6f..f7ed2d07d28 100644 --- a/build_files/buildbot/master_unpack.py +++ b/build_files/buildbot/master_unpack.py @@ -30,12 +30,12 @@ import zipfile # extension stripping def strip_extension(filename): extensions = '.zip', '.tar', '.bz2', '.gz', '.tgz', '.tbz', '.exe' - filename_noext, ext = os.path.splitext(filename) - if ext in extensions: - return strip_extension(filename_noext) # may have .tar.bz2 - else: - return filename + for ext in extensions: + if filename.endswith(ext): + filename = filename[:-len(ext)] + + return filename # extract platform from package name def get_platform(filename): @@ -48,12 +48,11 @@ def get_platform(filename): tokens = filename.split("-") platforms = ('osx', 'mac', 'bsd', 'win', 'linux', 'source', - 'solaris', - 'mingw') + 'irix', 'solaris', 'mingw') platform_tokens = [] found = False - for token in tokens: + for i, token in enumerate(tokens): if not found: for platform in platforms: if platform in token.lower(): @@ -65,20 +64,19 @@ def get_platform(filename): return '-'.join(platform_tokens) - def get_branch(filename): tokens = filename.split("-") branch = "" - + for token in tokens: + if token == "blender": + return branch + if branch == "": branch = token else: branch = branch + "-" + token - if token == "blender": - return branch - return "" # get filename @@ -112,11 +110,16 @@ branch = get_branch(packagename) if platform == '': sys.stderr.write('Failed to detect platform ' + - 'from package: %r\n' % packagename) + 'from package: %r\n' % packagename) sys.exit(1) # extract -directory = 'public_html/download' +if not branch or branch == 'master': + directory = 'public_html/download' +elif branch == 'experimental-build': + directory = 'public_html/download/experimental' +else: + directory = 'public_html/download' try: zf = z.open(package) @@ -126,8 +129,6 @@ try: zf.close() z.close() - - os.remove(filename) except Exception, ex: sys.stderr.write('Failed to unzip package: %s\n' % str(ex)) sys.exit(1) diff --git a/build_files/buildbot/slave_compile.py b/build_files/buildbot/slave_compile.py index a5dadbde05c..4ef46331c64 100644 --- a/build_files/buildbot/slave_compile.py +++ b/build_files/buildbot/slave_compile.py @@ -33,7 +33,7 @@ builder = sys.argv[1] # we run from build/ directory blender_dir = '../blender.git' -if builder.find('cmake') != -1: +if 'cmake' in builder: # cmake # set build options @@ -46,11 +46,21 @@ if builder.find('cmake') != -1: elif builder.endswith('mac_ppc_cmake'): cmake_options.append('-DCMAKE_OSX_ARCHITECTURES:STRING=ppc') + if 'win64' in builder: + cmake_options.append(['-G','"Visual Studio 12 2013 Win64"']) + elif 'win32' in builder: + cmake_options.append(['-G','"Visual Studio 12 2013"']) + + cmake_options.append("-C../blender.git/build_files/cmake/config/blender_full.cmake") + cmake_options.append("-DWITH_CYCLES_CUDA_BINARIES=1") # configure and make retcode = subprocess.call(['cmake', blender_dir] + cmake_options) if retcode != 0: sys.exit(retcode) - retcode = subprocess.call(['make', '-s', '-j4', 'install']) + if 'win' in builder: + retcode = subprocess.call(['msbuild', 'INSTALL.vcxproj', '/p:Configuration=Release']) + else: + retcode = subprocess.call(['make', '-s', '-j4', 'install']) sys.exit(retcode) else: python_bin = 'python' diff --git a/build_files/buildbot/slave_pack.py b/build_files/buildbot/slave_pack.py index c989cd8e31a..8ff7783b6d1 100644 --- a/build_files/buildbot/slave_pack.py +++ b/build_files/buildbot/slave_pack.py @@ -115,6 +115,28 @@ if builder.find('scons') != -1: retcode = subprocess.call([python_bin, 'scons/scons.py'] + scons_options) sys.exit(retcode) +else: +#cmake + if 'win' in builder: + files = [f for f in os.listdir('.') if os.path.isfile(f) and f.endswith('.zip')] + for f in files: + os.remove(f) + retcode = subprocess.call(['cpack', '-G','ZIP']) + result_file = [f for f in os.listdir('.') if os.path.isfile(f) and f.endswith('.zip')][0] + os.rename(result_file, "{}.zip".format(builder)) + # create zip file + try: + upload_zip = "buildbot_upload.zip" + if os.path.exists(upload_zip): + os.remove(upload_zip) + z = zipfile.ZipFile(upload_zip, "w", compression=zipfile.ZIP_STORED) + z.write("{}.zip".format(builder)) + z.close() + sys.exit(retcode) + except Exception, ex: + sys.stderr.write('Create buildbot_upload.zip failed' + str(ex) + '\n') + sys.exit(1) + # clean release directory if it already exists release_dir = 'release' |