diff --git a/travis/compile_all.sh b/travis/compile_all.sh index 7c1879b..c6648a5 100755 --- a/travis/compile_all.sh +++ b/travis/compile_all.sh @@ -4,21 +4,35 @@ set -e BASE_DIR="BUILD_${PLATFORM}" NIGHTLY_ARCHIVES_DIR=${HOME}/NIGHTLY_ARCHIVES +RELEASE_ARCHIVES_DIR=${HOME}/RELEASE_ARCHIVES SSH_KEY=${TRAVIS_BUILD_DIR}/travis/travisci_builder_id_key mkdir -p ${NIGHTLY_ARCHIVES_DIR} +mkdir -p ${RELEASE_ARCHIVES_DIR} -function make_nightly_archive { - ARCHIVE_NAME="${1}_$(date +%Y-%m-%d).tar.gz" +function make_archive { + if [[ "$MAKE_RELEASE" == "0" ]] + then + ARCHIVE_PATH="${NIGHTLY_ARCHIVES_DIR}/${1}_$(date +%Y-%m-%d).tar.gz" + else + ARCHIVE_PATH="${RELEASE_ARCHIVES_DIR}/${1}-${TRAVIS_TAG}.tar.gz" + fi ( cd ${BASE_DIR}/INSTALL/bin - tar -czf "${NIGHTLY_ARCHIVES_DIR}/$ARCHIVE_NAME" $2 + tar -czf "${ARCHIVE_PATH}" $2 ) } cd ${HOME} -if [[ "$TRAVIS_EVENT_TYPE" = "cron" ]] +if [[ $TRAVIS_TAG =~ ^[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+ ]] +then + MAKE_RELEASE=1 +else + MAKE_RELEASE=0 +fi + +if [[ "$TRAVIS_EVENT_TYPE" == "cron" || "$MAKE_RELEASE" == "1" ]] then if [[ ${PLATFORM} = android* ]] then @@ -33,23 +47,25 @@ then for TARGET in ${TARGETS} do echo $TARGET - ${TRAVIS_BUILD_DIR}/kiwix-build.py \ - --target-platform $PLATFORM \ - --build-deps-only \ - --hide-progress \ - ${TARGET} - rm ${BASE_DIR}/.install_packages_ok + if [[ "$TRAVIS_EVENT_TYPE" == "cron" ]] + then + ${TRAVIS_BUILD_DIR}/kiwix-build.py \ + --target-platform $PLATFORM \ + --build-deps-only \ + --hide-progress \ + ${TARGET} + rm ${BASE_DIR}/.install_packages_ok - ( - cd ${BASE_DIR} - if [ -f meson_cross_file.txt ] - then - MESON_FILE=meson_cross_file.txt - fi - ANDROID_NDK_DIR=$(find . -name "android-ndk*") - ARCHIVE_NAME="deps_${PLATFORM}_${TARGET}.tar.gz" + ( + cd ${BASE_DIR} + if [ -f meson_cross_file.txt ] + then + MESON_FILE=meson_cross_file.txt + fi + ANDROID_NDK_DIR=$(find . -name "android-ndk*") + ARCHIVE_NAME="deps_${PLATFORM}_${TARGET}.tar.gz" - cat < manifest.txt + cat < manifest.txt ${ARCHIVE_NAME} ********************************* @@ -57,26 +73,37 @@ Dependencies archive for ${TARGET} on platform ${PLATFORM} Generated at $(date) EOF - tar -czf ${ARCHIVE_NAME} INSTALL manifest.txt ${MESON_FILE} ${ANDROID_NDK_DIR} - scp -i ${SSH_KEY} ${ARCHIVE_NAME} nightlybot@download.kiwix.org:/var/www/tmp.kiwix.org/ci/ - ) + tar -czf ${ARCHIVE_NAME} INSTALL manifest.txt ${MESON_FILE} ${ANDROID_NDK_DIR} + scp -i ${SSH_KEY} ${ARCHIVE_NAME} nightlybot@download.kiwix.org:/var/www/tmp.kiwix.org/ci/ + ) + fi - ${TRAVIS_BUILD_DIR}/kiwix-build.py --hide-progress --target-platform $PLATFORM ${TARGET} + if [[ "$MAKE_RELEASE" == "1" ]] + then + ${TRAVIS_BUILD_DIR}/kiwix-build.py \ + --hide-progress \ + --make-release \ + --target-platform $PLATFORM ${TARGET} + else + ${TRAVIS_BUILD_DIR}/kiwix-build.py \ + --hide-progress \ + --target-platform $PLATFORM ${TARGET} + fi rm ${BASE_DIR}/.install_packages_ok done # We have build every thing. Now create archives for public deployement. case ${PLATFORM} in native_static) - make_nightly_archive kiwix_tools_linux64 "kiwix-install kiwix-manage kiwix-read kiwix-search kiwix-serve" - make_nightly_archive zim-tools_linux64 "zimbench zimdump zimsearch zimdiff zimpatch zimsplit" - make_nightly_archive zimwriterfs_linux64 "zimwriterfs" + make_archive kiwix_tools_linux64 "kiwix-install kiwix-manage kiwix-read kiwix-search kiwix-serve" + make_archive zim-tools_linux64 "zimbench zimdump zimsearch zimdiff zimpatch zimsplit" + make_archive zimwriterfs_linux64 "zimwriterfs" ;; win32_static) - make_nightly_archive kiwix-tools_win32 "kiwix-install.exe kiwix-manage.exe kiwix-read.exe kiwix-search.exe kiwix-serve.exe" + make_archive kiwix-tools_win32 "kiwix-install.exe kiwix-manage.exe kiwix-read.exe kiwix-search.exe kiwix-serve.exe" ;; armhf_static) - make_nightly_archive kiwix-tools_armhf "kiwix-install kiwix-manage kiwix-read kiwix-search kiwix-serve" + make_archive kiwix-tools_armhf "kiwix-install kiwix-manage kiwix-read kiwix-search kiwix-serve" ;; android_*) APK_NAME="kiwix-${PLATFORM}" diff --git a/travis/deploy.sh b/travis/deploy.sh index 929db04..5659fc7 100755 --- a/travis/deploy.sh +++ b/travis/deploy.sh @@ -3,6 +3,7 @@ set -e NIGHTLY_ARCHIVES_DIR=${HOME}/NIGHTLY_ARCHIVES +RELEASE_ARCHIVES_DIR=${HOME}/RELEASE_ARCHIVES SSH_KEY=travis/travisci_builder_id_key NIGHTLY_ARCHIVES=$(find $NIGHTLY_ARCHIVES_DIR -type f) @@ -12,3 +13,11 @@ then ${NIGHTLY_ARCHIVES} \ nightlybot@download.kiwix.org:/var/www/download.kiwix.org/nightly/$(date +%Y-%m-%d) fi + +RELEASE_ARCHIVES=$(find $RELEASE_ARCHIVES_DIR -type f) +if [[ "x$RELEASE_ARCHIVES" != "x" ]] +then + scp -vrp -i ${SSH_KEY} \ + ${RELEASE_ARCHIVES} \ + nightlybot@downoald.kiwix.org:/var/www/download.kiwix.org/releases +fi