Skip to content

Commit d77d832

Browse files
authored
Merge pull request #8499 from qgis/multi-docker-yaml
build docker images baed on cosmic and bionic
2 parents 1ef04d7 + dfa69b5 commit d77d832

8 files changed

Lines changed: 224 additions & 94 deletions

File tree

.ci/travis/code_layout/after_script.sh

Lines changed: 0 additions & 15 deletions
This file was deleted.

.ci/travis/linux/after_script.sh

Lines changed: 0 additions & 15 deletions
This file was deleted.

.ci/travis/linux/before_script.sh

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,8 @@ set -e
1818

1919
pushd .docker
2020

21-
source $(git rev-parse --show-toplevel)/.ci/travis/scripts/travis_envvar_helper.sh
22-
23-
2421
DOCKER_DEPS_PUSH=$( [[ $TRAVIS_REPO_SLUG =~ qgis/QGIS ]] && [[ $TRAVIS_EVENT_TYPE =~ push ]] && echo "true" || echo "false" )
2522
DOCKER_DEPS_IMAGE_REBUILD=$( [[ $TRAVIS_COMMIT_MESSAGE =~ '[docker] update dependencies' ]] && echo "true" || echo "false" )
26-
# on cron job, QGIS image is built and push without testing
27-
DOCKER_QGIS_IMAGE_BUILD_PUSH=$(create_qgis_image)
28-
QGIS_LAST_BUILD_SUCCESS=true # TODO use API to know if last build succeed https://developer.travis-ci.com/resource/builds
29-
3023

3124
echo "travis_fold:start:travis_env"
3225
echo "${bold}Travis environment variables${endbold}"
@@ -36,25 +29,25 @@ echo "DOCKER_TAG: $DOCKER_TAG"
3629
echo "TRAVIS_COMMIT_MESSAGE: $TRAVIS_COMMIT_MESSAGE"
3730
echo "DOCKER_DEPS_PUSH: $DOCKER_DEPS_PUSH"
3831
echo "DOCKER_DEPS_IMAGE_REBUILD: $DOCKER_DEPS_IMAGE_REBUILD"
39-
echo "DOCKER_QGIS_IMAGE_BUILD_PUSH: $DOCKER_QGIS_IMAGE_BUILD_PUSH"
40-
echo "QGIS_LAST_BUILD_SUCCESS: $QGIS_LAST_BUILD_SUCCESS"
32+
echo "DOCKER_BUILD_QGIS_IMAGE: $DOCKER_BUILD_QGIS_IMAGE"
33+
echo "DOCKER_BUILD_DEPS_FILE: $DOCKER_BUILD_DEPS_FILE"
4134
echo "TRAVIS_TIMESTAMP: $TRAVIS_TIMESTAMP"
4235
echo "travis_fold:end:travis_env"
4336

4437

4538
echo "travis_fold:start:docker_build"
4639
echo "${bold}Docker build deps${endbold}"
4740
docker --version
48-
if [[ $DOCKER_QGIS_IMAGE_BUILD_PUSH =~ false ]]; then
41+
if [[ $DOCKER_BUILD_QGIS_IMAGE =~ false ]]; then
4942
docker-compose --version
50-
docker-compose -f "${DOCKER_COMPOSE}" config
43+
docker-compose -f ${TRAVIS_BUILD_DIR}/.docker/docker-compose.travis.yml config
5144
fi
5245

5346
if [[ $DOCKER_DEPS_IMAGE_REBUILD =~ true ]]; then
54-
docker build --no-cache -t "qgis/qgis3-build-deps:${DOCKER_TAG}" -f qgis3-build-deps.dockerfile .
47+
docker build --no-cache -t "qgis/qgis3-build-deps:${DOCKER_TAG}" -f ${DOCKER_BUILD_DEPS_FILE} .
5548
else
5649
docker pull "qgis/qgis3-build-deps:${DOCKER_TAG}" || true
57-
docker build --cache-from "qgis/qgis3-build-deps:${DOCKER_TAG}" -t "qgis/qgis3-build-deps:${DOCKER_TAG}" -f qgis3-build-deps.dockerfile .
50+
docker build --cache-from "qgis/qgis3-build-deps:${DOCKER_TAG}" -t "qgis/qgis3-build-deps:${DOCKER_TAG}" -f ${DOCKER_BUILD_DEPS_FILE} .
5851
fi
5952
echo "travis_fold:end:docker_build"
6053

.ci/travis/linux/docker-build-test.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ cmake \
5959
-DPYTHON_TEST_WRAPPER="timeout -sSIGSEGV 55s"\
6060
-DCXX_EXTRA_FLAGS="${CLANG_WARNINGS}" \
6161
-DWERROR=TRUE \
62+
-DQT5_3DEXTRA_LIBRARY="/usr/lib/x86_64-linux-gnu/libQt53DExtras.so" \
63+
-DQT5_3DEXTRA_INCLUDE_DIR="/root/QGIS/external/qt3dextra-headers" \
64+
-DCMAKE_PREFIX_PATH="/root/QGIS/external/qt3dextra-headers/cmake" \
6265
..
6366
echo "travis_fold:end:cmake"
6467

.ci/travis/linux/script.sh

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,10 @@
1616

1717
set -e
1818

19-
source $(git rev-parse --show-toplevel)/.ci/travis/scripts/travis_envvar_helper.sh
20-
21-
DOCKER_QGIS_IMAGE_BUILD_PUSH=$(create_qgis_image)
22-
2319
mkdir -p "$CCACHE_DIR"
2420

25-
if [[ $DOCKER_QGIS_IMAGE_BUILD_PUSH =~ true ]]; then
21+
if [[ ${DOCKER_BUILD_QGIS_IMAGE} =~ true ]]; then
22+
# building docker images
2623
DIR=$(git rev-parse --show-toplevel)/.docker
2724
pushd "${DIR}"
2825
echo "${bold}Building QGIS Docker image '${DOCKER_TAG}'...${endbold}"
@@ -36,5 +33,6 @@ if [[ $DOCKER_QGIS_IMAGE_BUILD_PUSH =~ true ]]; then
3633
docker push "qgis/qgis:${DOCKER_TAG}"
3734
popd
3835
else
39-
docker-compose -f "${DOCKER_COMPOSE}" run --rm qgis-deps
36+
# running tests
37+
docker-compose -f ${TRAVIS_BUILD_DIR}/.docker/docker-compose.travis.yml run --rm qgis-deps
4038
fi

.ci/travis/scripts/travis_envvar_helper.sh

Lines changed: 0 additions & 14 deletions
This file was deleted.
Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
FROM ubuntu:18.10
2+
MAINTAINER Denis Rouzaud <denis@opengis.ch>
3+
4+
LABEL Description="Docker container with QGIS dependencies" Vendor="QGIS.org" Version="1.0"
5+
6+
# && echo "deb http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu xenial main" >> /etc/apt/sources.list \
7+
# && echo "deb-src http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu xenial main" >> /etc/apt/sources.list \
8+
# && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 314DF160 \
9+
10+
11+
RUN apt-get update \
12+
&& apt-get install -y software-properties-common \
13+
&& apt-get update \
14+
&& apt-get install -y \
15+
apt-transport-https \
16+
bison \
17+
ca-certificates \
18+
ccache \
19+
clang \
20+
cmake \
21+
curl \
22+
dh-python \
23+
flex \
24+
gdal-bin \
25+
git \
26+
graphviz \
27+
grass-dev \
28+
libexpat1-dev \
29+
libfcgi-dev \
30+
libgdal-dev \
31+
libgeos-dev \
32+
libgsl-dev \
33+
libpq-dev \
34+
libproj-dev \
35+
libqca-qt5-2-dev \
36+
libqca-qt5-2-plugins \
37+
libqt53dextras5 \
38+
libqt53drender5 \
39+
libqt5concurrent5 \
40+
libqt5opengl5-dev \
41+
libqt5positioning5 \
42+
libqt5qml5 \
43+
libqt5quick5 \
44+
libqt5quickcontrols2-5 \
45+
libqt5scintilla2-dev \
46+
libqt5sql5-odbc \
47+
libqt5sql5-sqlite \
48+
libqt5svg5-dev \
49+
libqt5webkit5-dev \
50+
libqt5xml5 \
51+
libqt5xmlpatterns5-dev \
52+
libqt5serialport5-dev \
53+
libqwt-qt5-dev \
54+
libspatialindex-dev \
55+
libspatialite-dev \
56+
libsqlite3-dev \
57+
libsqlite3-mod-spatialite \
58+
libzip-dev \
59+
lighttpd \
60+
locales \
61+
ninja-build \
62+
pkg-config \
63+
poppler-utils \
64+
postgresql-client \
65+
pyqt5-dev \
66+
pyqt5-dev-tools \
67+
pyqt5.qsci-dev \
68+
python3-all-dev \
69+
python3-dev \
70+
python3-future \
71+
python3-gdal \
72+
python3-mock \
73+
python3-nose2 \
74+
python3-pip \
75+
python3-psycopg2 \
76+
python3-pyqt5 \
77+
python3-pyqt5.qsci \
78+
python3-pyqt5.qtsql \
79+
python3-pyqt5.qtsvg \
80+
python3-sip \
81+
python3-sip-dev \
82+
python3-termcolor \
83+
python3-yaml \
84+
qt3d5-dev \
85+
qt3d-assimpsceneimport-plugin \
86+
qt3d-defaultgeometryloader-plugin \
87+
qt3d-gltfsceneio-plugin \
88+
qt3d-scene2d-plugin \
89+
qt5keychain-dev \
90+
qtbase5-dev \
91+
qtdeclarative5-dev-tools \
92+
qtpositioning5-dev \
93+
qttools5-dev \
94+
qttools5-dev-tools \
95+
qtbase5-private-dev \
96+
saga \
97+
spawn-fcgi \
98+
txt2tags \
99+
xauth \
100+
xfonts-100dpi \
101+
xfonts-75dpi \
102+
xfonts-base \
103+
xfonts-scalable \
104+
xvfb \
105+
&& pip3 install \
106+
psycopg2 \
107+
numpy \
108+
nose2 \
109+
pyyaml \
110+
mock \
111+
future \
112+
termcolor \
113+
owslib \
114+
oauthlib \
115+
pyopenssl \
116+
&& apt-get clean
117+
118+
119+
# MSSQL: client side
120+
RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
121+
RUN curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | tee /etc/apt/sources.list.d/msprod.list
122+
RUN apt-get update
123+
RUN ACCEPT_EULA=Y apt-get install -y msodbcsql17 mssql-tools
124+
125+
# Avoid sqlcmd termination due to locale -- see https://github.com/Microsoft/mssql-docker/issues/163
126+
RUN echo "nb_NO.UTF-8 UTF-8" > /etc/locale.gen
127+
RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
128+
RUN locale-gen
129+
130+
131+
RUN echo "alias python=python3" >> ~/.bash_aliases
132+
133+
ENV CC=/usr/lib/ccache/clang
134+
ENV CXX=/usr/lib/ccache/clang++
135+
ENV QT_SELECT=5
136+
ENV LANG=C.UTF-8
137+
ENV PATH="/usr/local/bin:${PATH}"
138+
139+
CMD /root/QGIS/.ci/travis/linux/docker-build-test.sh

0 commit comments

Comments
 (0)