-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.travis.yml
40 lines (32 loc) · 1.11 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
language: cpp
sudo: required
services:
- docker
env:
matrix:
- DISTRO=fedora DOCKERHUB=true
# - DISTRO=ubuntu DOCKERHUB=true
script:
- mkdir ${HOME}/docker
- cp -v ${DISTRO} ${HOME}/docker/Dockerfile
- cp -r $HOME/.ccache ${HOME}/docker/ccache
- if [[ ${TRAVIS_BRANCH} != master ]]; then TAG="${TAG}_${TRAVIS_BRANCH}"; fi
- travis_retry timeout 540 docker pull $(sed -n '1s/FROM //p' ${HOME}/docker/Dockerfile)
- travis_retry docker build
-t ${TRAVIS_REPO_SLUG}:${DISTRO}${TAG} ${HOME}/docker/ &&
rm -rf $HOME/.ccache &&
CON=$(docker run -d ${TRAVIS_REPO_SLUG}:${DISTRO}${TAG} /bin/bash) &&
docker cp ${CON}:/home/ci/.ccache ${HOME}/
after_success:
- shopt -s extglob && [[ ${TRAVIS_BRANCH} = @(master|stable) ]] && DEPLOY=yes
- if [[ ${DOCKERHUB} = true && ${DOCKER_USERNAME} && ${DOCKER_PASSWORD} && ${TRAVIS_PULL_REQUEST} == false && ${DEPLOY} ]]; then
docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD";
docker push "${TRAVIS_REPO_SLUG}:${DISTRO}${TAG}";
fi
cache:
- ccache
compiler:
- gcc
notifications:
email:
- ecp-proxy@lanl.gov