Make travisCI publish binaries as release versions when tag is pushed.
This publish the same this that nightly build except that : - Use the `--make-release` option to force kiwix-build to use tagged version of subprojects. - The archives are named using the tag name. - The archives are pushed to "releases" directory in download.kiwix.org.
This commit is contained in:
parent
e4f8b6c7a9
commit
bb5b85da50
|
@ -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,6 +47,8 @@ then
|
|||
for TARGET in ${TARGETS}
|
||||
do
|
||||
echo $TARGET
|
||||
if [[ "$TRAVIS_EVENT_TYPE" == "cron" ]]
|
||||
then
|
||||
${TRAVIS_BUILD_DIR}/kiwix-build.py \
|
||||
--target-platform $PLATFORM \
|
||||
--build-deps-only \
|
||||
|
@ -60,23 +76,34 @@ 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/
|
||||
)
|
||||
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}"
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue