2016-06-03 10:16:00 +02:00
|
|
|
###########################################################################
|
|
|
|
# before_script.sh
|
|
|
|
# ---------------------
|
|
|
|
# Date : August 2015
|
|
|
|
# Copyright : (C) 2015 by Nyall Dawson
|
|
|
|
# Email : nyall dot dawson at gmail dot com
|
|
|
|
###########################################################################
|
|
|
|
# #
|
|
|
|
# This program is free software; you can redistribute it and/or modify #
|
|
|
|
# it under the terms of the GNU General Public License as published by #
|
|
|
|
# the Free Software Foundation; either version 2 of the License, or #
|
|
|
|
# (at your option) any later version. #
|
|
|
|
# #
|
|
|
|
###########################################################################
|
|
|
|
|
2017-08-05 00:03:33 +02:00
|
|
|
set -e
|
2016-02-17 11:29:49 +01:00
|
|
|
|
2017-08-05 00:03:33 +02:00
|
|
|
pushd .docker
|
|
|
|
|
2018-03-13 08:14:44 -08:00
|
|
|
source $(git rev-parse --show-toplevel)/.ci/travis/scripts/travis_envvar_helper.sh
|
|
|
|
|
|
|
|
|
|
|
|
DOCKER_DEPS_PUSH=$( [[ $TRAVIS_REPO_SLUG =~ qgis/QGIS ]] && [[ $TRAVIS_EVENT_TYPE =~ push ]] && echo "true" || echo "false" )
|
|
|
|
DOCKER_DEPS_IMAGE_REBUILD=$( [[ $TRAVIS_COMMIT_MESSAGE =~ '[docker] update dependencies' ]] && echo "true" || echo "false" )
|
|
|
|
# on cron job, QGIS image is built and push without testing
|
2018-03-21 13:45:35 +01:00
|
|
|
DOCKER_QGIS_IMAGE_BUILD_PUSH=$(create_qgis_image)
|
2018-03-13 08:14:44 -08:00
|
|
|
QGIS_LAST_BUILD_SUCCESS=true # TODO use API to know if last build succeed https://developer.travis-ci.com/resource/builds
|
|
|
|
|
|
|
|
|
2018-02-27 09:16:02 -09:00
|
|
|
echo "travis_fold:start:travis_env"
|
2018-03-21 14:03:22 +01:00
|
|
|
echo "${bold}Travis environment variables${endbold}"
|
2018-02-28 03:54:37 -09:00
|
|
|
echo "TRAVIS_BRANCH: $TRAVIS_BRANCH"
|
|
|
|
echo "TRAVIS_EVENT_TYPE: $TRAVIS_EVENT_TYPE"
|
|
|
|
echo "DOCKER_TAG: $DOCKER_TAG"
|
|
|
|
echo "DOCKER_DEPS_PUSH: $DOCKER_DEPS_PUSH"
|
|
|
|
echo "DOCKER_DEPS_IMAGE_REBUILD: $DOCKER_DEPS_IMAGE_REBUILD"
|
|
|
|
echo "DOCKER_QGIS_IMAGE_BUILD_PUSH: $DOCKER_QGIS_IMAGE_BUILD_PUSH"
|
|
|
|
echo "QGIS_LAST_BUILD_SUCCESS: $QGIS_LAST_BUILD_SUCCESS"
|
|
|
|
echo "TRAVIS_TIMESTAMP: $TRAVIS_TIMESTAMP"
|
2018-02-27 09:16:02 -09:00
|
|
|
echo "travis_fold:end:travis_env"
|
|
|
|
|
|
|
|
|
|
|
|
echo "travis_fold:start:docker_build"
|
|
|
|
echo "${bold}Docker build deps${endbold}"
|
2017-08-05 00:03:33 +02:00
|
|
|
docker --version
|
2018-03-21 13:45:35 +01:00
|
|
|
if [[ $DOCKER_QGIS_IMAGE_BUILD_PUSH =~ false ]]; then
|
2018-02-27 09:16:02 -09:00
|
|
|
docker-compose --version
|
|
|
|
docker-compose -f $DOCKER_COMPOSE config
|
|
|
|
fi
|
|
|
|
|
2017-08-05 00:03:33 +02:00
|
|
|
docker pull "qgis/qgis3-build-deps:${DOCKER_TAG}" || true
|
2017-12-11 15:16:22 -04:00
|
|
|
if [[ $DOCKER_DEPS_IMAGE_REBUILD =~ true ]]; then
|
|
|
|
docker build --no-cache -t "qgis/qgis3-build-deps:${DOCKER_TAG}" .
|
|
|
|
else
|
2018-02-27 09:16:02 -09:00
|
|
|
docker build --cache-from "qgis/qgis3-build-deps:${DOCKER_TAG}" -t "qgis/qgis3-build-deps:${DOCKER_TAG}" -f qgis3-build-deps.dockerfile .
|
2017-12-11 15:16:22 -04:00
|
|
|
fi
|
2018-02-27 09:16:02 -09:00
|
|
|
echo "travis_fold:end:docker_build"
|
|
|
|
|
|
|
|
echo "travis_fold:start:docker_push"
|
|
|
|
echo "${bold}Docker push deps${endbold}"
|
2017-08-05 00:03:33 +02:00
|
|
|
# image should be pushed even if QGIS build fails
|
|
|
|
# but push is achieved only on branches (not for PRs)
|
2018-02-27 09:16:02 -09:00
|
|
|
if [[ $DOCKER_DEPS_PUSH =~ true ]]; then
|
|
|
|
echo "push to qgis/qgis3-build-deps:${DOCKER_TAG}"
|
2017-08-05 00:03:33 +02:00
|
|
|
docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
|
|
|
|
#docker tag "qgis/qgis3-build-deps:${DOCKER_TAG}" "qgis/qgis3-build-deps:latest"
|
|
|
|
docker push "qgis/qgis3-build-deps:${DOCKER_TAG}"
|
|
|
|
fi
|
2018-02-27 09:16:02 -09:00
|
|
|
echo "travis_fold:end:docker_push"
|
2017-08-05 00:03:33 +02:00
|
|
|
|
|
|
|
popd
|