Skip to content

Commit b249fc1

Browse files
committed
add a second cache directory for Docker image building
because they just take too much time
1 parent 13f8bc7 commit b249fc1

File tree

4 files changed

+21
-14
lines changed

4 files changed

+21
-14
lines changed

.ci/travis/linux/script.sh

+14-10
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ mkdir -p "$CCACHE_DIR"
2020

2121
if [[ ${DOCKER_BUILD_QGIS_IMAGE} =~ true ]]; then
2222
# copy ccache dir within QGIS source so it can be accessed from docker
23-
cp -r ${CCACHE_DIR} ${TRAVIS_BUILD_DIR}/.ccache
23+
cp -r ${CCACHE_DIR_IMAGE_BUILD} ${TRAVIS_BUILD_DIR}/.ccache_image_build
2424
# building docker images
2525
DIR=$(git rev-parse --show-toplevel)/.docker
2626
pushd "${DIR}"
@@ -32,20 +32,24 @@ if [[ ${DOCKER_BUILD_QGIS_IMAGE} =~ true ]]; then
3232
echo "${bold}Pushing image to docker hub...${endbold}"
3333
docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
3434
docker push "qgis/qgis:${DOCKER_TAG}"
35+
echo "Copy build cache from Docker container to Travis cache directory"
36+
rm -rf ${CCACHE_DIR_IMAGE_BUILD}/*
37+
container_id=$(docker images -q "qgis/qgis:${DOCKER_TAG}")
38+
docker cp ${container_id}:/usr/src/QGIS/.ccache_image_build ${CCACHE_DIR_IMAGE_BUILD}
3539
popd
3640
echo "Trigger build of PyQGIS Documentation"
37-
body='{
38-
"request": {
39-
"branch":"master",
40-
"message": "Trigger PyQGIS doc build after release of new Docker image",
41-
"config": {
42-
"merge_mode": "deep_merge",
43-
"env": {
44-
"global": ["QGIS_VERSION_BRANCH=release-3_4"]
41+
body="{
42+
'request': {
43+
'branch':'master',
44+
'message': 'Trigger PyQGIS doc build after release of new Docker image as ${DOCKER_TAG}',
45+
'config': {
46+
'merge_mode': 'deep_merge',
47+
'env': {
48+
'global': ['QGIS_VERSION_BRANCH=${TRAVIS_BRANCH}']
4549
}
4650
}
4751
}
48-
}'
52+
}"
4953
curl -s -X POST -H "Content-Type: application/json" -H "Accept: application/json" \
5054
-H "Travis-API-Version: 3" -H "Authorization: token $TRAVIS_TOKEN" -d "$body" \
5155
https://api.travis-ci.org/repo/qgis%2Fpyqgis/requests

.docker/docker-compose.travis.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ services:
1616
image: qgis/qgis3-build-deps:${DOCKER_TAG}
1717
volumes:
1818
- ${TRAVIS_BUILD_DIR}:/root/QGIS
19-
- ${CCACHE_DIR}:/root/.ccache # if changed, also change env var
19+
- ${CCACHE_DIR_TESTING}:/root/.ccache # if changed, also change env var
2020
links:
2121
- postgres
2222
- mssql

.docker/qgis.dockerfile

+2-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ ENV LANG=C.UTF-8
1616

1717
COPY . /usr/src/QGIS
1818

19-
ENV CCACHE_DIR=/usr/src/QGIS/.ccache
19+
# If this directory is changed, also adapt script.sh which copies the directory
20+
ENV CCACHE_DIR=/usr/src/QGIS/.ccache_image_build
2021
RUN ccache -M 1G
2122
RUN ccache -s
2223

.travis.yml

+4-2
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,16 @@ cache:
77
apt: true
88
pip: true
99
directories:
10-
- ${HOME}/.ccache
10+
- ${HOME}/.ccache_testing
11+
- ${HOME}/.ccache_docker_build
1112
timeout: 1000
1213
if: NOT branch =~ /^(cherry-pick-)?backport-\d+-on-/
1314

1415
env:
1516
global:
1617
- TRAVIS_TIMESTAMP=$(date +%s)
17-
- CCACHE_DIR=${HOME}/.ccache
18+
- CCACHE_DIR_TESTING=${HOME}/.ccache_testing
19+
- CCACHE_DIR_IMAGE_BUILD=${HOME}/.ccache_docker_build
1820
# Docker hub username and passowrd
1921
- secure: "b7eMDIolaAnq1voGKC1ez7Kcf+/A0WZDJEHBvNwk2KubBfrGOE83GMDrFNF4NqjIprqIAvVKj+TrX1ckCvs24re3IqUJo71TaF1IgxzDDPwSsmNh5UMmvZkeiJys9bWjqDO9wYR5ietNmIE18qyMc8ToJk8oKm6AXuAG2n6znmM="
2022
- secure: "PHCp7F3nApp38Mz6b4/OLxgfBiikRGzPQDHg3R5LX+SQOll24c/DMtwpPwizNuFEiCFcRmJ9uc1t0HWEerIZe5uqm7AtE/nMXBsvDZ+hj4Tz/fEBF98a1k4WLYheN1exFidVkJgdAeiwMOOUQXw5KuIX62bxBdzsdcd0QGwxiXo="

0 commit comments

Comments
 (0)