From f781dcad02a776d56c78ddcd459a5cce99c82115 Mon Sep 17 00:00:00 2001 From: Ian Bell Date: Tue, 30 Dec 2014 23:29:01 -0500 Subject: [PATCH] Update buildbot to try to get it to upload using a renderable Signed-off-by: Ian Bell --- dev/buildbot/master/master.cfg | 42 +++++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/dev/buildbot/master/master.cfg b/dev/buildbot/master/master.cfg index e034cc85..f60b0d69 100644 --- a/dev/buildbot/master/master.cfg +++ b/dev/buildbot/master/master.cfg @@ -204,6 +204,20 @@ def gitModeInput(props): return 'full' else: return 'incremental' + +@properties.renderer +def masterdestLocation(props): + """ + If release is on, upload to public_html/release + If building from master, upload to normal public_html/binaries folder + If another branch, upload to public_html/unstable + """ + if props.getProperty('release', default = False): + return 'public_html/release' + elif props.getProperty('branch') == 'master': + return 'public_html/binaries' + else: + return 'public_html/unstable' # A centralised method to provide the objects with some presets def getBaseFactory(gitMode = 'incremental'): @@ -290,7 +304,7 @@ def pythonFactory(pyID, pyCFG=PythonSlaveConfig("name"), gitMode='incremental'): #factory.addStep(ShellCommand(command="python -c \"import CoolProp; print(CoolProp.__file___)\"", workdir= workingFolder, haltOnFailure = True)) # if not checkID(pyID, teID=300, strict=False): # Only upload non-Linux files - factory.addStep(DirectoryUpload(slavesrc=uploadFolder, masterdest="public_html/binaries", url="binaries", compress="bz2")) + factory.addStep(DirectoryUpload(slavesrc=uploadFolder, masterdest=masterdestLocation, url="binaries", compress="bz2")) return factory @@ -350,7 +364,7 @@ def cmakeFactory(mod_name = None, gitMode = 'incremental', install = True, pre_c if install: factory.addStep(DirectoryUpload( slavesrc="install_root", - masterdest="public_html/binaries", + masterdest=masterdestLocation, url="binaries", compress="bz2")) return factory @@ -415,7 +429,7 @@ def javascript_slave(platform, cmake_args = [], cmake_env = {}, build_args = [], workdir= working_folder, haltOnFailure = True)) factory.addStep(ShellCommand(command=["cmake", "--build", ".", "--target", "install"]+build_args, workdir = working_folder, haltOnFailure = True)) - factory.addStep(DirectoryUpload(slavesrc="install_root", masterdest="public_html/binaries", url="binaries", compress="bz2")) + factory.addStep(DirectoryUpload(slavesrc="install_root", masterdest=masterdestLocation, url="binaries", compress="bz2")) return factory @@ -433,7 +447,7 @@ def python_source_slave(key, platform, conda_env, cmake_args = [], cmake_env = { env = cmake_env, workdir= working_folder, haltOnFailure = True)) - factory.addStep(DirectoryUpload(slavesrc="install_root", masterdest="public_html/binaries", url="binaries", compress="bz2")) + factory.addStep(DirectoryUpload(slavesrc="install_root", masterdest=masterdestLocation, url="binaries", compress="bz2")) return factory def deb_slave(gitMode = 'incremental'): @@ -450,7 +464,7 @@ def deb_slave(gitMode = 'incremental'): factory.addStep(ShellCommand(command = ' '.join(["mv","*.deb","DEB/DEB"]), workdir= working_folder, haltOnFailure = True)) - factory.addStep(DirectoryUpload(slavesrc="wrappers/DEB/DEB", masterdest="public_html/binaries", url="binaries/DEB", compress="bz2")) + factory.addStep(DirectoryUpload(slavesrc="wrappers/DEB/DEB", masterdest=masterdestLocation, url="binaries/DEB", compress="bz2")) return factory @@ -491,7 +505,7 @@ def excel_slave(gitMode = 'incremental'): factory.addStep(ShellCommand(command=["copy", "wrappers\Excel\CoolProp.xla", "bin\MicrosoftExcel"], workdir = 'build', haltOnFailure = True)) factory.addStep(ShellCommand(command=["copy", "wrappers\Excel\TestExcel.xlsx", "bin\MicrosoftExcel"], workdir = 'build', haltOnFailure = True)) # Upload the files - factory.addStep(DirectoryUpload(slavesrc="bin",masterdest="public_html/binaries",url="MicrosoftExcel",compress="bz2")) + factory.addStep(DirectoryUpload(slavesrc="bin",masterdest=masterdestLocation,url="MicrosoftExcel",compress="bz2")) return factory def julia_builder(gitMode = 'incremental'): @@ -507,7 +521,7 @@ def julia_builder(gitMode = 'incremental'): # Copy other files factory.addStep(ShellCommand(command=["cp", "wrappers/Julia/CoolProp.jl", "install_root/Julia"], workdir = 'build', haltOnFailure = True)) # Upload the files - factory.addStep(DirectoryUpload(slavesrc="install_root",masterdest="public_html/binaries",url="binaries",compress="bz2")) + factory.addStep(DirectoryUpload(slavesrc="install_root",masterdest=masterdestLocation,url="binaries",compress="bz2")) return factory def cmake_slave(mod_name, platform, gitMode = 'incremental', install = True, cmake_args = [], build_args = [], ctest_args = [], cmake_env={}, test = True): @@ -551,7 +565,7 @@ def cmake_slave(mod_name, platform, gitMode = 'incremental', install = True, cma if test: factory.addStep(ShellCommand(command=["ctest", "--extra-verbose"] + ctest_args, workdir = working_folder, haltOnFailure = True)) if install: - factory.addStep(DirectoryUpload(slavesrc="install_root",masterdest="public_html/binaries",url="binaries",compress="bz2")) + factory.addStep(DirectoryUpload(slavesrc="install_root",masterdest=masterdestLocation,url="binaries",compress="bz2")) return factory def swig_matlab_builder(platform, gitMode = 'incremental', build_args = [], cmake_args = [], ctest_args = [], cmake_env = None): @@ -592,7 +606,7 @@ def swig_matlab_builder(platform, gitMode = 'incremental', build_args = [], cmak if 'win' not in platform: factory.addStep(ShellCommand(command=["ctest", "--extra-verbose"] + ctest_args, workdir = "build/build", haltOnFailure = True)) # Upload the files - factory.addStep(DirectoryUpload(slavesrc="install_root",masterdest="public_html/binaries",url="binaries",compress="bz2")) + factory.addStep(DirectoryUpload(slavesrc="install_root",masterdest=masterdestLocation,url="binaries",compress="bz2")) # Return the object return factory @@ -629,7 +643,7 @@ def swig_scilab_builder(platform, gitMode = 'incremental'): workdir= "build/build", haltOnFailure = True)) # Upload the files - factory.addStep(DirectoryUpload(slavesrc="install_root",masterdest="public_html/binaries",url="binaries",compress="bz2")) + factory.addStep(DirectoryUpload(slavesrc="install_root",masterdest=masterdestLocation,url="binaries",compress="bz2")) return factory def SWIG_MATLAB_bin_builder(platform, gitMode = 'incremental', windows = False): @@ -712,7 +726,7 @@ def vxworks_module_builder(gitMode = 'incremental', cmake_args = [], cmake_env = # Build factory.addStep(ShellCommand(command = 'cmake --build . --target install', workdir = 'build/build', haltOnFailure = True)) # Upload the files - factory.addStep(DirectoryUpload(slavesrc="install_root", masterdest="public_html/binaries",url="binaries",compress="bz2")) + factory.addStep(DirectoryUpload(slavesrc="install_root", masterdest=masterdestLocation,url="binaries",compress="bz2")) return factory from buildbot.config import BuilderConfig @@ -1118,8 +1132,10 @@ c['schedulers'].append(ForceScheduler( name="force", builderNames=all_builder_names, properties=[ - BooleanParameter(name="fullclean", - label="Do a full clean", default=False)])) + BooleanParameter(name="fullclean", label="Do a full clean", default=False), + BooleanParameter(name="release", label="Check this box to upload to public_html/release", default=False) + ] + )) c['schedulers'].append(ForceScheduler( name="release_scheduler", builderNames=['release version'],