Finish Hotfix-ReleaseManagement, release script takes 2 arguments again and can be called from buildbot directly

This commit is contained in:
Jorrit Wronski
2014-12-08 17:19:26 +01:00
2 changed files with 37 additions and 15 deletions

View File

@@ -204,7 +204,7 @@ def gitModeInput(props):
return 'full'
else:
return 'incremental'
# A centralised method to provide the objects with some presets
def getBaseFactory(gitMode = 'incremental'):
factory = BuildFactory()
@@ -680,22 +680,22 @@ def sourcezip_builder(gitMode = 'incremental', cmake_args = [], cmake_env = None
# Upload the files
factory.addStep(DirectoryUpload(slavesrc="../install_root",masterdest="public_html/binaries",url="binaries",compress="bz2"))
return factory
def memory_sanitizer_builder():
""" Run clang's memory sanitizer on the Catch tests to check for memory leaks """
# Hardcoded path to the clang compiler
CLANG_ROOT='/Users/Ian/Downloads/clang+llvm-3.5.0-macosx-apple-darwin'
commons = dict(workdir = 'build/asan', haltOnFailure = True, env = dict(CLANG_ROOT = CLANG_ROOT))
# Create the factory to add the actions to
factory = getBaseFactory(gitMode=gitMode)
factory.addStep(MakeDirectory(dir='build/asan', haltOnFailure = True))
factory.addStep(ShellCommand(command='cmake .. -DCOOLPROP_CLANG_ADDRESS_SANITIZER=ON -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_C_COMPILER=${CLANG_ROOT}/bin/clang -DCMAKE_CXX_COMPILER=${CLANG_ROOT}/bin/clang++', **commons))
factory.addStep(ShellCommand(command='DYLD_LIBRARY_PATH=${CLANG_ROOT}/lib/clang/3.5.0/lib/darwin/ ASAN_SYMBOLIZER_PATH=${CLANG_ROOT}/bin/llvm-symbolizer ASAN_OPTIONS=verbosity=1 cmake --build .', **commons))
return factory
def vxworks_module_builder(gitMode = 'incremental', cmake_args = [], cmake_env = None):
"""
These generated files are needed for the other swig builders and are cross-platform
@@ -759,7 +759,7 @@ c['builders'].append(
factory = python_source_slave("PYPI", platform = 'OSX', conda_env = 'py27')
)
)
c['builders'].append(
BuilderConfig(name="memory sanitizer",
slavenames=["OSX-slave"],
@@ -1073,7 +1073,7 @@ for platform in ['windows', 'linux', 'OSX']:
)
)
swig_builders.append(c['builders'][-1].name)
@@ -1085,11 +1085,11 @@ def releaseCommand(props):
release = 'dryrun'
else:
release = 'release'
version = props.getProperty('version')
return ' '.join(['${HOME}/buildbot/CoolProp.git/dev/scripts/release.bsh',version, release])
return ' '.join(['${HOME}/scripts/release.bsh',version, release])
def release_builder():
f = BuildFactory()
f.addStep(MasterShellCommand(command = releaseCommand))

View File

@@ -1,8 +1,8 @@
#!/bin/bash
DRYRUN=true # Change this to false to actually make a release
#
# Make sure that only one argument is passed to this script - the version that will be released
if [ $# != 1 ]; then
echo "Only one argument should be passed to this script - the version that will be released; like \"release.bsh 5.0.0\" or \"release.bsh nightly\"."
if [ $# != 2 ]; then
echo "Only two arguments should be passed to this script - the version that will be released and if you would like a dry run or a release; like \"release.bsh 5.0.0 dryrun\" or \"release.bsh nightly release\"."
exit 1
fi
#
@@ -14,13 +14,35 @@ SEPARATOR="----------------------------------"
#
SFUSER="jorritw" # ibell or jorritw
#
#
echo " "
echo $SEPARATOR
echo "Processing the input variables: "
#
CPVERSION="$1"
if [[ $CPVERSION == +([0-9]).+([0-9]).+([0-9]) ]]; then
echo "CPVERSION = $CPVERSION"
elif [ "$CPVERSION" == "nightly" ]; then
echo "CPVERSION = $CPVERSION - which is a valid input"
else
echo "CPVERSION = $CPVERSION - not valid!"
exit 1
fi
#
if [ "$2" == "release" ]; then
DRYRUN=false
else
DRYRUN=true
fi
echo "DRYRUN = $DRYRUN"
#
# Change the folder
pushd ${BASEDIR}
#echo "Fixing the permissions of directories and files" # This is not needed, just ignore the perms in rsync
#find . -type d ! -perm 0775 -exec chmod 0775 {} \;
#find . -type f ! -perm 0664 -exec chmod 0664 {} \;
#
if [ "$DRYRUN" = "true" ]; then
if [ "$DRYRUN" != "false" ]; then
echo " "
echo $SEPARATOR
echo "Dry run; no zipping of the docs"