Fix deployment of different release archives.

Fix #12.
This commit is contained in:
Matthieu Gautier 2018-03-15 17:42:15 +01:00
parent 87d80928ee
commit 0594486afd
2 changed files with 39 additions and 10 deletions

View File

@ -16,7 +16,8 @@ def home():
BASE_DIR = home()/"BUILD_{}".format(PLATFORM) BASE_DIR = home()/"BUILD_{}".format(PLATFORM)
NIGHTLY_ARCHIVES_DIR = home()/'NIGHTLY_ARCHIVES' NIGHTLY_ARCHIVES_DIR = home()/'NIGHTLY_ARCHIVES'
RELEASE_ARCHIVES_DIR = home()/'RELEASE_ARCHIVES' RELEASE_KIWIX_ARCHIVES_DIR = home()/'RELEASE_KIWIX_ARCHIVES'
RELEASE_ZIM_ARCHIVES_DIR = home()/'RELEASE_ZIM_ARCHIVES'
DIST_KIWIX_ARCHIVES_DIR = home()/'DIST_KIWIX_ARCHIVES' DIST_KIWIX_ARCHIVES_DIR = home()/'DIST_KIWIX_ARCHIVES'
DIST_ZIM_ARCHIVES_DIR = home()/'DIST_ZIM_ARCHIVES' DIST_ZIM_ARCHIVES_DIR = home()/'DIST_ZIM_ARCHIVES'
SSH_KEY = Path(environ['TRAVIS_BUILD_DIR'])/'travis'/'travisci_builder_id_key' SSH_KEY = Path(environ['TRAVIS_BUILD_DIR'])/'travis'/'travisci_builder_id_key'
@ -26,7 +27,7 @@ VERSIONS = {
'kiwix-tools': '0.3.0', 'kiwix-tools': '0.3.0',
'libzim': '3.0.0', 'libzim': '3.0.0',
'zim-tools': '0.0.1', 'zim-tools': '0.0.1',
'zimwriterfs': '1.0' 'zimwriterfs': '1.1'
} }
# We have build everything. Now create archives for public deployement. # We have build everything. Now create archives for public deployement.
@ -74,12 +75,16 @@ def make_archive(project, platform):
file_to_archives = ['{}.exe'.format(f) for f in file_to_archives] file_to_archives = ['{}.exe'.format(f) for f in file_to_archives]
if make_release: if make_release:
postfix = VERSIONS[project] postfix = VERSIONS[project]
archive_dir = RELEASE_ARCHIVES_DIR if project in ('kiwix-lib', 'kiwix-tools'):
archive_dir = RELEASE_KIWIX_ARCHIVES_DIR/project
else:
archive_dir = RELEASE_ZIM_ARCHIVES_DIR/project
else: else:
postfix = _date postfix = _date
archive_dir = NIGHTLY_ARCHIVES_DIR archive_dir = NIGHTLY_ARCHIVES_DIR
archive_name = "{}_{}-{}".format(project, platform, postfix) archive_name = "{}_{}-{}".format(project, platform, postfix)
archive = archive_dir/'{}.tar.gz'.format(archive_name) archive = archive_dir/'{}.tar.gz'.format(archive_name)
archive_dir.mkdir(parents=True)
base_bin_dir = BASE_DIR/'INSTALL'/'bin' base_bin_dir = BASE_DIR/'INSTALL'/'bin'
with tarfile.open(str(archive), 'w:gz') as arch: with tarfile.open(str(archive), 'w:gz') as arch:
for f in file_to_archives: for f in file_to_archives:
@ -91,7 +96,11 @@ def scp(what, where):
subprocess.check_call(command) subprocess.check_call(command)
for p in (NIGHTLY_ARCHIVES_DIR, RELEASE_ARCHIVES_DIR, DIST_KIWIX_ARCHIVES_DIR, DIST_ZIM_ARCHIVES_DIR): for p in (NIGHTLY_ARCHIVES_DIR,
RELEASE_KIWIX_ARCHIVES_DIR,
RELEASE_ZIM_ARCHIVES_DIR,
DIST_KIWIX_ARCHIVES_DIR,
DIST_ZIM_ARCHIVES_DIR):
try: try:
p.mkdir(parents=True) p.mkdir(parents=True)
except FileExistsError: except FileExistsError:
@ -170,9 +179,12 @@ if make_release and PLATFORM == 'native_dyn':
else: else:
out_dir = DIST_ZIM_ARCHIVES_DIR out_dir = DIST_ZIM_ARCHIVES_DIR
if target in ('kiwix-lib', 'kiwix-tools', 'libzim'): if target in ('kiwix-lib', 'kiwix-tools', 'libzim', 'zim-tools'):
shutil.copy(str(BASE_DIR/target/'meson-dist'/'{}-{}.tar.xz'.format(target, VERSIONS[target])), shutil.copy(str(BASE_DIR/target/'meson-dist'/'{}-{}.tar.xz'.format(target, VERSIONS[target])),
str(out_dir)) str(out_dir))
if target in ('zimwriterfs',):
shutil.copy(str(BASE_DIR/target/'{}-{}.tar.gz'.format(target, VERSIONS[target])),
str(out_dir))
elif PLATFORM == 'native_static': elif PLATFORM == 'native_static':
for target in ('kiwix-tools', 'zim-tools', 'zimwriterfs'): for target in ('kiwix-tools', 'zim-tools', 'zimwriterfs'):
make_archive(target, 'linux64') make_archive(target, 'linux64')

View File

@ -3,7 +3,8 @@
set -e set -e
NIGHTLY_ARCHIVES_DIR=${HOME}/NIGHTLY_ARCHIVES NIGHTLY_ARCHIVES_DIR=${HOME}/NIGHTLY_ARCHIVES
RELEASE_ARCHIVES_DIR=${HOME}/RELEASE_ARCHIVES RELEASE_KIWIX_ARCHIVES_DIR=${HOME}/RELEASE_KIWIX_ARCHIVES
RELEASE_ZIM_ARCHIVES_DIR=${HOME}/RELEASE_ZIM_ARCHIVES
DIST_KIWIX_ARCHIVES_DIR=${HOME}/DIST_KIWIX_ARCHIVES DIST_KIWIX_ARCHIVES_DIR=${HOME}/DIST_KIWIX_ARCHIVES
DIST_ZIM_ARCHIVES_DIR=${HOME}/DIST_ZIM_ARCHIVES DIST_ZIM_ARCHIVES_DIR=${HOME}/DIST_ZIM_ARCHIVES
SSH_KEY=travis/travisci_builder_id_key SSH_KEY=travis/travisci_builder_id_key
@ -19,12 +20,28 @@ then
fi fi
elif [[ "x$TRAVIS_TAG" != "x" ]] elif [[ "x$TRAVIS_TAG" != "x" ]]
then then
RELEASE_ARCHIVES=$(find $RELEASE_ARCHIVES_DIR -type f) RELEASE_ARCHIVES=$(find $RELEASE_KIWIX_ARCHIVES_DIR -type f)
if [[ "x$RELEASE_ARCHIVES" != "x" ]] if [[ "x$RELEASE_ARCHIVES" != "x" ]]
then then
scp -vrp -i ${SSH_KEY} \ for archive in $RELEASE_ARCHIVES
${RELEASE_ARCHIVES} \ do
nightlybot@download.kiwix.org:/var/www/download.kiwix.org/release subdir=$(basename $(dirname $archive))
scp -vrp -i ${SSH_KEY} \
${archive} \
nightlybot@download.kiwix.org:/var/www/download.kiwix.org/release/${subdir}
done
fi
RELEASE_ARCHIVES=$(find $RELEASE_ZIM_ARCHIVES_DIR -type f)
if [[ "x$RELEASE_ARCHIVES" != "x" ]]
then
for archive in $RELEASE_ARCHIVES
do
subdir=$(basename $(dirname $archive))
scp -vrp -i ${SSH_KEY} \
${archive} \
nightlybot@download.openzim.org:/var/www/download.openzim.org/release/${subdir}
done
fi fi
DIST_KIWIX_ARCHIVES=$(find $DIST_KIWIX_ARCHIVES_DIR -type f) DIST_KIWIX_ARCHIVES=$(find $DIST_KIWIX_ARCHIVES_DIR -type f)