diff --git a/dev-tools/release/make_release.sh b/dev-tools/release/make_release.sh deleted file mode 100755 index 8b8a79b30c884231453ff1cb59290c7f024cef9a..0000000000000000000000000000000000000000 --- a/dev-tools/release/make_release.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash -# Main script to start release preparation - -set -e - - - - -# set -e -# -# mkdir BornAgain-release -# cd BornAgain-release -# -# git clone git@apps.jcns.fz-juelich.de:BornAgain.git -# cd BornAgain -# git checkout PreRelease -# -# cd .. -# mkdir build -# cd build -# -# cmake ../BornAgain -# -# ./bin/release.sh -# -# echo " " -# echo "1) Modify BornAgain-release/build/RELEASE/CHANGELOG" -# echo "2) Copy new Windows build into BornAgain-release/build/RELEASE" -# echo "3) Run BornAgain-release/build/bin/release.sh with menu option #2 (upload on apps)" -# echo "4) Run BornAgain-release/build/bin/release.sh with menu option #3 (finalize git)" diff --git a/dev-tools/release/utils/check_release.py b/dev-tools/release/utils/check_release.py index 68ffcf0fee1fe435ce269c0257ec8e65049fa20c..215b9421f843effad87683ea5115edb7d8029733 100644 --- a/dev-tools/release/utils/check_release.py +++ b/dev-tools/release/utils/check_release.py @@ -5,40 +5,45 @@ import subprocess +def check_manual(): + cmd = "cd %s; wget http://apps.jcns.fz-juelich.de/src/BornAgain/%s" % (get_checkrelease_dir(), get_manual_name()) + run_command(cmd) + if not os.path.exists(get_checkrelease_dir()+"/"+get_manual_name()): + exit("Error! Can't access user manual") + + def check_tarball(): print "Checking tarball ..." cmd = "cd %s; wget http://apps.jcns.fz-juelich.de/src/BornAgain/BornAgain-%s.tar.gz" % (get_checktarball_dir(), get_version()) - print cmd + run_command(cmd) cmd = "cd %s; tar zxf BornAgain-%s.tar.gz" % (get_checktarball_dir(), get_version()) - print cmd + run_command(cmd) cmd = "cd %s; mkdir build; mkdir installed" % get_checktarball_dir() - print cmd + run_command(cmd) cmd = "cd %s/build; cmake -DCMAKE_INSTALL_PREFIX=../installed ../BornAgain-%s; make -j8; make check; make install" % (get_checktarball_dir(), get_version()) - print cmd + run_command(cmd) cmd = "source %s/installed/bin/thisbornagain.sh; python -c \"from libBornAgainCore import *; print GetVersionNumber()\"" % (get_checktarball_dir()) print cmd - #p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) - #p.wait() - #return iter(p.stdout.readline, b''), iter(p.stderr.readline, b'') - - -def check_manual(): - cmd = "cd %s; wget http://apps.jcns.fz-juelich.de/src/BornAgain/%s" % (get_checkrelease_dir(), get_manual_name()) - print cmd - if not os.path.exists(get_checkrelease_dir()+"/"+get_manual_name()): - exit("Error! Can't access user manual") + result = subprocess.check_output(cmd, shell=True) + received_version = result.split("\n")[0] + if not received_version == get_version(): + exit("Error! Can't get correct version from tarball. Received '"+received_version+"', expected '"+get_version()+"'") def check_master_branch(): print "Checking master branch ..." cmd = "cd %s; mkdir build; mkdir installed" % get_checkmaster_dir() - print cmd + run_command(cmd) cmd = "cd %s; git clone git://apps.jcns.fz-juelich.de/BornAgain.git " % get_checkmaster_dir() - print cmd + run_command(cmd) cmd = "cd %s/build; cmake -DCMAKE_INSTALL_PREFIX=../installed ../BornAgain; make -j8; make check; make install" % (get_checkmaster_dir()) - print cmd + run_command(cmd) cmd = "source %s/installed/bin/thisbornagain.sh; python -c \"from libBornAgainCore import *; print GetVersionNumber()\"" % (get_checkmaster_dir()) print cmd + result = subprocess.check_output(cmd, shell=True) + received_version = result.split("\n")[0] + if not received_version == get_version(): + exit("Error! Can't get correct version from master branch. Received '"+received_version+"', expected '"+get_version()+"'") def check_release(): @@ -46,6 +51,9 @@ def check_release(): check_manual() check_tarball() check_master_branch() - + print "\n" + print "Congratulations! New %s release was successfully validated. " % (get_version()) + print "Don't forget to post news items." + print "And yes, this was very productive." diff --git a/dev-tools/release/utils/finalize_release.py b/dev-tools/release/utils/finalize_release.py index 27b3e79574f99ae8b65189417ab7480625ec2d12..4af9a47d46099502436d342b3bc71127fd28047d 100644 --- a/dev-tools/release/utils/finalize_release.py +++ b/dev-tools/release/utils/finalize_release.py @@ -8,46 +8,44 @@ from check_release import * def upload_release(): print "Uploading to the app server ..." cmd = "rsync --delete -avzhe ssh %s/ apps@apps.jcns.fz-juelich.de:/www/apps/src/BornAgain/" % get_upload_dir() - print cmd - #run_command(cmd) + run_command(cmd) def finalize_git(): print "Finalizing git ..." cmd = "cd %s; git commit -a -m \"Release %s\"" % (get_source_dir(), get_version()) - #run_command(cmd) + run_command(cmd) + cmd = "cd %s; git push" % get_source_dir() - #run_command(cmd) + run_command(cmd) # master branch cmd = "cd %s; git checkout master" % get_source_dir() - #run_command(cmd) + run_command(cmd) - cmd = "cd %s; git merge --no--ff %s -m \"Merge %s\"" % (get_source_dir(), get_branch_name(), get_version()) - #run_command(cmd) + cmd = "cd %s; git merge --no-ff %s -m \"Merge %s\"" % (get_source_dir(), get_branch_name(), get_version()) + run_command(cmd) cmd = "cd %s; git tag -a %s -m \"Release %s\"" % (get_source_dir(), get_version(), get_version()) - #run_command(cmd) + run_command(cmd) cmd = "cd %s; git push --tags" % get_source_dir() - #run_command(cmd) + run_command(cmd) # develop branch cmd = "cd %s; git checkout develop" % get_source_dir() - #run_command(cmd) + run_command(cmd) - cmd = "cd %s; git merge --no--ff %s -m \"Merge %s\"" % (get_source_dir(), get_branch_name(), get_version()) - #run_command(cmd) + cmd = "cd %s; git merge --no-ff %s -m \"Merge %s\"" % (get_source_dir(), get_branch_name(), get_version()) + run_command(cmd) cmd = "cd %s; git push" % get_source_dir() - #run_command(cmd) + run_command(cmd) # deleting branch - cmd = "cd %s; git branch -d %s" % (get_source_dir(), get_branch_name()) - #run_command(cmd) cmd = "cd %s; git push origin --delete %s" % (get_source_dir(), get_branch_name()) - #run_command(cmd) + run_command(cmd) def finalize_release():