2018-06-05 11:22:18 +02:00
|
|
|
#!/usr/bin/env bash
|
2016-06-03 10:16:00 +02:00
|
|
|
###########################################################################
|
|
|
|
# script.sh
|
|
|
|
# ---------------------
|
2016-09-27 13:35:50 +02:00
|
|
|
# Date : March 2016
|
|
|
|
# Copyright : (C) 2016 by Matthias Kuhn
|
|
|
|
# Email : matthias at opengis dot ch
|
2016-06-03 10:16:00 +02:00
|
|
|
###########################################################################
|
|
|
|
# #
|
|
|
|
# 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-09-06 10:46:47 +02:00
|
|
|
set -e
|
|
|
|
|
2018-06-21 12:49:45 +10:00
|
|
|
mkdir -p "$CCACHE_DIR"
|
2016-10-19 17:11:04 +03:00
|
|
|
|
2018-11-16 18:44:00 +01:00
|
|
|
if [[ ${DOCKER_BUILD_QGIS_IMAGE} =~ true ]]; then
|
2018-11-18 12:03:52 +01:00
|
|
|
# copy ccache dir within QGIS source so it can be accessed from docker
|
|
|
|
cp -r ${CCACHE_DIR} ${TRAVIS_BUILD_DIR}/.ccache
|
2018-11-16 18:28:33 +01:00
|
|
|
# building docker images
|
2018-02-27 09:16:02 -09:00
|
|
|
DIR=$(git rev-parse --show-toplevel)/.docker
|
2018-06-19 16:22:38 +02:00
|
|
|
pushd "${DIR}"
|
2018-02-27 09:16:02 -09:00
|
|
|
echo "${bold}Building QGIS Docker image '${DOCKER_TAG}'...${endbold}"
|
2018-11-18 12:03:52 +01:00
|
|
|
docker build --build-arg DOCKER_TAG="${DOCKER_TAG}" \
|
2018-02-27 09:16:02 -09:00
|
|
|
--cache-from "qgis/qgis:${DOCKER_TAG}" \
|
|
|
|
-t "qgis/qgis:${DOCKER_TAG}" \
|
|
|
|
-f qgis.dockerfile ..
|
|
|
|
echo "${bold}Pushing image to docker hub...${endbold}"
|
|
|
|
docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
|
|
|
|
docker push "qgis/qgis:${DOCKER_TAG}"
|
|
|
|
popd
|
|
|
|
else
|
2018-11-19 15:40:27 +01:00
|
|
|
# running QGIS tests
|
2018-11-19 15:47:43 +01:00
|
|
|
docker-compose -f ${TRAVIS_BUILD_DIR}/.docker/docker-compose.travis.yml run --rm qgis-deps
|
|
|
|
|
2018-11-19 15:40:27 +01:00
|
|
|
# running tests for the python test runner
|
2018-11-19 15:47:43 +01:00
|
|
|
docker run -d --name qgis-testing-environment -v ${TRAVIS_BUILD_DIR}/tests/src/python:/tests_directory -e DISPLAY=:99 "qgis/qgis:${DOCKER_TAG}"
|
|
|
|
sleep 10 # Wait for xvfb to finish starting
|
|
|
|
# Temporary workaround until docker images are built
|
|
|
|
docker cp ${TRAVIS_BUILD_DIR}/.docker/qgis_resources/test_runner/qgis_testrunner.sh qgis-testing-environment:/usr/bin/qgis_testrunner.sh
|
2018-11-20 08:33:20 +01:00
|
|
|
# Run tests in the docker
|
|
|
|
# Passing cases:
|
2018-11-20 11:32:43 +01:00
|
|
|
TEST_SCRIPT_PATH=${TRAVIS_BUILD_DIR}/.ci/travis/linux/docker_test.sh
|
2018-11-20 08:33:20 +01:00
|
|
|
[[ $(${TEST_SCRIPT_PATH} test_testrunner.run_passing) -eq '0' ]]
|
|
|
|
[[ $(${TEST_SCRIPT_PATH} test_testrunner.run_skipped_and_passing) -eq '0' ]]
|
2018-11-19 15:47:43 +01:00
|
|
|
# Failing cases:
|
2018-11-20 08:33:20 +01:00
|
|
|
[[ $(${TEST_SCRIPT_PATH} test_testrunner) -eq '1' ]]
|
|
|
|
[[ $(${TEST_SCRIPT_PATH} test_testrunner.run_all) -eq '1' ]]
|
|
|
|
[[ $(${TEST_SCRIPT_PATH} test_testrunner.run_failing) -eq '1' ]]
|
2018-02-27 09:16:02 -09:00
|
|
|
fi
|