Skip to content

Commit e82e521

Browse files
authoredFeb 28, 2018
bump Qt to 5.9 (#6482)
* Update test masks * update test masks * fix bad regex in parse_dash_results * update test masks * [Travis] bump Qt to 5.9 (#6355) * bump Qt to 5.9 and SIP to 4.19.7 by using coming Bionic as base Docker image for dependencies * automatically build QGIS Docker image on cron jobs * update test mask
1 parent f60149b commit e82e521

File tree

40 files changed

+114
-70
lines changed

40 files changed

+114
-70
lines changed
 

‎.ci/travis/linux/before_script.sh

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,24 +17,44 @@ set -e
1717

1818
pushd .docker
1919

20-
echo "travis_fold:start:docker"
20+
echo "travis_fold:start:travis_env"
21+
echo "${bold}${endbold}"
22+
echo "TRAVIS_BRANCH $TRAVIS_BRANCH"
23+
echo "TRAVIS_EVENT_TYPE $TRAVIS_EVENT_TYPE"
24+
echo "DOCKER_TAG $DOCKER_TAG"
25+
echo "DOCKER_DEPS_PUSH $DOCKER_DEPS_PUSH"
26+
echo "DOCKER_DEPS_IMAGE_REBUILD $DOCKER_DEPS_IMAGE_REBUILD"
27+
echo "DOCKER_QGIS_IMAGE_BUILD_PUSH $DOCKER_QGIS_IMAGE_BUILD_PUSH"
28+
echo "QGIS_LAST_BUILD_SUCCESS $QGIS_LAST_BUILD_SUCCESS"
29+
echo "travis_fold:end:travis_env"
30+
31+
32+
echo "travis_fold:start:docker_build"
33+
echo "${bold}Docker build deps${endbold}"
2134
docker --version
22-
docker-compose --version
23-
docker-compose -f $DOCKER_COMPOSE config
24-
#docker pull ubuntu:16.04
35+
if [[ $DOCKER_QGIS_IMAGE_BUILD_PUSH =~ false ]]; then
36+
docker-compose --version
37+
docker-compose -f $DOCKER_COMPOSE config
38+
fi
39+
2540
docker pull "qgis/qgis3-build-deps:${DOCKER_TAG}" || true
2641
if [[ $DOCKER_DEPS_IMAGE_REBUILD =~ true ]]; then
2742
docker build --no-cache -t "qgis/qgis3-build-deps:${DOCKER_TAG}" .
2843
else
29-
docker build --cache-from "qgis/qgis3-build-deps:${DOCKER_TAG}" -t "qgis/qgis3-build-deps:${DOCKER_TAG}" .
44+
docker build --cache-from "qgis/qgis3-build-deps:${DOCKER_TAG}" -t "qgis/qgis3-build-deps:${DOCKER_TAG}" -f qgis3-build-deps.dockerfile .
3045
fi
31-
echo "travis_fold:end:docker"
46+
echo "travis_fold:end:docker_build"
47+
48+
echo "travis_fold:start:docker_push"
49+
echo "${bold}Docker push deps${endbold}"
3250
# image should be pushed even if QGIS build fails
3351
# but push is achieved only on branches (not for PRs)
34-
if [[ $DOCKER_PUSH =~ true ]]; then
52+
if [[ $DOCKER_DEPS_PUSH =~ true ]]; then
53+
echo "push to qgis/qgis3-build-deps:${DOCKER_TAG}"
3554
docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
3655
#docker tag "qgis/qgis3-build-deps:${DOCKER_TAG}" "qgis/qgis3-build-deps:latest"
3756
docker push "qgis/qgis3-build-deps:${DOCKER_TAG}"
3857
fi
58+
echo "travis_fold:end:docker_push"
3959

4060
popd

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ echo "travis_fold:start:cmake"
3939
echo "${bold}Running cmake...${endbold}"
4040
cmake \
4141
-GNinja \
42+
-DWITH_3D=ON \
4243
-DWITH_STAGED_PLUGINS=ON \
4344
-DWITH_GRASS=OFF \
4445
-DSUPPRESS_QT_WARNINGS=ON \

‎.ci/travis/linux/script.sh

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,23 @@
1515

1616
set -e
1717

18-
DIR=$(git rev-parse --show-toplevel)/.docker
18+
1919

2020
mkdir -p $CCACHE_DIR
2121

22-
docker-compose -f $DOCKER_COMPOSE run --rm qgis-deps
22+
if [[ $DOCKER_QGIS_IMAGE_BUILD_PUSH =~ true ]]; then
23+
DIR=$(git rev-parse --show-toplevel)/.docker
24+
pushd ${DIR}
25+
echo "${bold}Building QGIS Docker image '${DOCKER_TAG}'...${endbold}"
26+
docker build --build-arg CACHE_DIR=/root/.ccache \
27+
--build-arg DOCKER_TAG=${DOCKER_TAG} \
28+
--cache-from "qgis/qgis:${DOCKER_TAG}" \
29+
-t "qgis/qgis:${DOCKER_TAG}" \
30+
-f qgis.dockerfile ..
31+
echo "${bold}Pushing image to docker hub...${endbold}"
32+
docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
33+
docker push "qgis/qgis:${DOCKER_TAG}"
34+
popd
35+
else
36+
docker-compose -f $DOCKER_COMPOSE run --rm qgis-deps
37+
fi

‎.docker/Dockerfile-build-test

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

‎.docker/qgis.dockerfile

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
2+
# CACHE_TAG is provided by Docker cloud
3+
# see https://docs.docker.com/docker-cloud/builds/advanced/
4+
# using ARG in FROM requires min v17.05.0-ce
5+
ARG DOCKER_TAG=latest
6+
ARG CACHE_DIR
7+
8+
FROM qgis/qgis3-build-deps:${DOCKER_TAG}
9+
MAINTAINER Denis Rouzaud <denis@opengis.ch>
10+
11+
ENV CC=/usr/lib/ccache/clang
12+
ENV CXX=/usr/lib/ccache/clang++
13+
ENV QT_SELECT=5
14+
ENV LANG=C.UTF-8
15+
16+
COPY . /usr/src/QGIS
17+
18+
COPY ${CACHE_DIR} /root/.ccache
19+
ENV CCACHE_DIR=/root/.ccache
20+
RUN ccache -M 1G
21+
22+
WORKDIR /usr/src/QGIS/build
23+
24+
RUN cmake \
25+
-GNinja \
26+
-DCMAKE_BUILD_TYPE=Release \
27+
-DCMAKE_INSTALL_PREFIX=/usr \
28+
-DWITH_DESKTOP=OFF \
29+
-DWITH_SERVER=ON \
30+
-DWITH_3D=ON \
31+
-DWITH_BINDINGS=ON \
32+
-DBINDINGS_GLOBAL_INSTALL=ON \
33+
-DWITH_STAGED_PLUGINS=ON \
34+
-DWITH_GRASS=ON \
35+
-DSUPPRESS_QT_WARNINGS=ON \
36+
-DDISABLE_DEPRECATED=ON \
37+
-DENABLE_TESTS=OFF \
38+
-DWITH_QSPATIALITE=ON \
39+
-DWITH_QWTPOLAR=OFF \
40+
-DWITH_APIDOC=OFF \
41+
-DWITH_ASTYLE=OFF \
42+
.. \
43+
&& ninja install \
44+
&& rm -rf /usr/src/QGIS
45+
46+
WORKDIR /

‎.docker/Dockerfile renamed to ‎.docker/qgis3-build-deps.dockerfile

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,21 @@
1-
FROM ubuntu:16.04
2-
MAINTAINER Denis Rouzaud <denis.rouzaud@gmail.com>
1+
FROM ubuntu:18.04
2+
MAINTAINER Denis Rouzaud <denis@opengis.ch>
33

44
LABEL Description="Docker container with QGIS dependencies" Vendor="QGIS.org" Version="1.0"
55

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+
610
RUN apt-get update \
711
&& apt-get install -y software-properties-common \
8-
&& add-apt-repository ppa:ubuntugis/ubuntugis-unstable \
912
&& apt-get update \
1013
&& apt-get install -y \
1114
bison \
1215
ca-certificates \
1316
ccache \
1417
clang \
15-
# cmake \
18+
cmake \
1619
curl \
1720
dh-python \
1821
flex \
@@ -29,6 +32,7 @@ RUN apt-get update \
2932
libproj-dev \
3033
libqca-qt5-2-dev \
3134
libqca-qt5-2-plugins \
35+
libqt53drender5 \
3236
libqt5opengl5-dev \
3337
libqt5scintilla2-dev \
3438
libqt5sql5-sqlite \
@@ -66,6 +70,11 @@ RUN apt-get update \
6670
python3-sip-dev \
6771
python3-termcolor \
6872
python3-yaml \
73+
qt3d5-dev \
74+
qt3d-assimpsceneimport-plugin \
75+
qt3d-defaultgeometryloader-plugin \
76+
qt3d-gltfsceneio-plugin \
77+
qt3d-scene2d-plugin \
6978
qt5keychain-dev \
7079
qtbase5-dev \
7180
qtpositioning5-dev \
@@ -88,10 +97,7 @@ RUN apt-get update \
8897
future \
8998
termcolor \
9099
&& apt-get autoremove -y python3-pip python2.7 \
91-
&& apt-get clean \
92-
&& curl -s -S -O https://cmake.org/files/v3.10/cmake-3.10.1-Linux-x86_64.tar.gz \
93-
&& tar --strip-components=1 -zx -f cmake-3.10.1-Linux-x86_64.tar.gz -C /usr/local \
94-
&& rm cmake-3.10.1-Linux-x86_64.tar.gz
100+
&& apt-get clean
95101

96102
RUN echo "alias python=python3" >> ~/.bash_aliases
97103

‎.travis.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,11 @@ matrix:
99
- TRAVIS_CONFIG=linux
1010
- DOCKER_COMPOSE=${TRAVIS_BUILD_DIR}/.docker/docker-compose.travis.yml
1111
- DOCKER_TAG=$( [[ $TRAVIS_REPO_SLUG =~ qgis/QGIS ]] && echo $TRAVIS_BRANCH | sed 's/master/latest/' || echo "latest" )
12-
- DOCKER_PUSH=$( [[ $TRAVIS_REPO_SLUG =~ qgis/QGIS ]] && [[ $TRAVIS_PULL_REQUEST =~ false ]] && echo "true" || echo "false" )
12+
- DOCKER_DEPS_PUSH=$( [[ $TRAVIS_REPO_SLUG =~ qgis/QGIS ]] && [[ $TRAVIS_EVENT_TYPE =~ push ]] && echo "true" || echo "false" )
1313
- DOCKER_DEPS_IMAGE_REBUILD=$( [[ $TRAVIS_COMMIT_MESSAGE =~ '[docker] update dependencies' ]] && echo "true" || echo "false" )
14+
# on cron job, QGIS image is built and push without testing
15+
- DOCKER_QGIS_IMAGE_BUILD_PUSH=$( [[ $TRAVIS_REPO_SLUG =~ qgis/QGIS ]] && [[ $TRAVIS_EVENT_TYPE =~ cron ]] && echo "true" || echo "false" )
16+
- QGIS_LAST_BUILD_SUCCESS=true # TODO use API to know if last build succeed https://developer.travis-ci.com/resource/builds
1417
- CCACHE_DIR=${HOME}/.ccache
1518
dist: trusty
1619
sudo: false

‎Dockerfile

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

‎python/plugins/processing/tests/testdata/gdal_algorithm_tests.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,7 @@ tests:
250250
hash:
251251
- aca7c839c679613f4910cbdea660359f1551c104c57fea9a61795668
252252
- 57e2bc100ec9836e2aa7df4ccf6b5715bd3f3524a524ce47bec52f68
253+
- e607570f34b1c61bc622751b324023b67642b657ef4b91a80d9057cb
253254
type: rasterhash
254255

255256
- algorithm: gdal:gridnearestneighbor

‎scripts/parse_dash_results.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ def parse_url(self, url):
159159

160160
images = {}
161161
for img in measurement_img:
162-
m = re.search('Rendered Image (.*?)\s', img.get('alt'))
162+
m = re.search('Rendered Image (.*?)(\s|$)', img.get('alt'))
163163
test_name = m.group(1)
164164
rendered_image = img.get('src')
165165
images[test_name] = '{}/{}'.format(dash_url, rendered_image)

‎tests/src/python/test_qgsdistancearea.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -600,18 +600,18 @@ def testFormatDistance(self):
600600
self.assertEqual(QgsDistanceArea.formatDistance(1.5, 3, QgsUnitTypes.DistanceKilometers, False), '1.500 km')
601601
self.assertEqual(QgsDistanceArea.formatDistance(0.5, 3, QgsUnitTypes.DistanceKilometers, True), '0.500 km')
602602
self.assertEqual(QgsDistanceArea.formatDistance(0.5, 3, QgsUnitTypes.DistanceKilometers, False), '500.000 m')
603-
self.assertEqual(QgsDistanceArea.formatDistance(6000, 0, QgsUnitTypes.DistanceFeet, True), '6,000 ft')
603+
self.assertEqual(QgsDistanceArea.formatDistance(6000, 0, QgsUnitTypes.DistanceFeet, True), '6000 ft')
604604
self.assertEqual(QgsDistanceArea.formatDistance(6000, 3, QgsUnitTypes.DistanceFeet, False), '1.136 mi')
605605
self.assertEqual(QgsDistanceArea.formatDistance(300, 0, QgsUnitTypes.DistanceFeet, True), '300 ft')
606606
self.assertEqual(QgsDistanceArea.formatDistance(300, 0, QgsUnitTypes.DistanceFeet, False), '300 ft')
607-
self.assertEqual(QgsDistanceArea.formatDistance(3000, 0, QgsUnitTypes.DistanceYards, True), '3,000 yd')
607+
self.assertEqual(QgsDistanceArea.formatDistance(3000, 0, QgsUnitTypes.DistanceYards, True), '3000 yd')
608608
self.assertEqual(QgsDistanceArea.formatDistance(3000, 3, QgsUnitTypes.DistanceYards, False), '1.705 mi')
609609
self.assertEqual(QgsDistanceArea.formatDistance(300, 0, QgsUnitTypes.DistanceYards, True), '300 yd')
610610
self.assertEqual(QgsDistanceArea.formatDistance(300, 0, QgsUnitTypes.DistanceYards, False), '300 yd')
611611
self.assertEqual(QgsDistanceArea.formatDistance(1.5, 3, QgsUnitTypes.DistanceMiles, True), '1.500 mi')
612612
self.assertEqual(QgsDistanceArea.formatDistance(1.5, 3, QgsUnitTypes.DistanceMiles, False), '1.500 mi')
613613
self.assertEqual(QgsDistanceArea.formatDistance(0.5, 3, QgsUnitTypes.DistanceMiles, True), '0.500 mi')
614-
self.assertEqual(QgsDistanceArea.formatDistance(0.5, 0, QgsUnitTypes.DistanceMiles, False), '2,640 ft')
614+
self.assertEqual(QgsDistanceArea.formatDistance(0.5, 0, QgsUnitTypes.DistanceMiles, False), '2640 ft')
615615
self.assertEqual(QgsDistanceArea.formatDistance(0.5, 1, QgsUnitTypes.DistanceNauticalMiles, True), '0.5 NM')
616616
self.assertEqual(QgsDistanceArea.formatDistance(0.5, 1, QgsUnitTypes.DistanceNauticalMiles, False), '0.5 NM')
617617
self.assertEqual(QgsDistanceArea.formatDistance(1.5, 1, QgsUnitTypes.DistanceNauticalMiles, True), '1.5 NM')

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

Error rendering embedded code

Invalid image source.

0 commit comments

Comments
 (0)
Please sign in to comment.