@@ -9,6 +9,22 @@ sudo: required
99services :
1010- docker
1111
12+ git :
13+ quiet : true
14+
15+ stages :
16+ - canary
17+ - test
18+ - deploy
19+
20+ jobs :
21+ include :
22+ - stage : canary
23+ env : ENV=3
24+ - stage : deploy
25+ if : repo = votca/votca AND type != pull_request
26+ env : ENV=1
27+
1228env :
1329 matrix :
1430 - ENV=1
@@ -43,31 +59,25 @@ before_script:
4359 cp -vr ${TRAVIS_REPO_SLUG}/docker ${HOME};
4460 mv -v ${TRAVIS_REPO_SLUG} $HOME/docker;
4561 else
46- git clone --recursive https://github.com/votca/votca.git $HOME/docker/votca;
62+ git clone -q - -recursive https://github.com/votca/votca.git $HOME/docker/votca;
4763 if [[ ${TRAVIS_BRANCH} != master ]]; then
48- git -C ${HOME}/docker/votca checkout -b ${TRAVIS_BRANCH} origin/${TRAVIS_BRANCH} && git -C ${HOME}/docker/votca submodule update --recursive --init;
64+ git -C ${HOME}/docker/votca checkout -b ${TRAVIS_BRANCH} ${TRAVIS_TAG:- origin/${TRAVIS_BRANCH} } && git -C ${HOME}/docker/votca submodule update --recursive --init;
4965 fi;
5066 git -C ${HOME}/docker/votca/${TRAVIS_REPO_SLUG#*/} fetch ${PWD}/${TRAVIS_REPO_SLUG} current_commit;
5167 git -C ${HOME}/docker/votca/${TRAVIS_REPO_SLUG#*/} checkout -f FETCH_HEAD;
5268 cp -vr ${HOME}/docker/votca/docker/* ${HOME}/docker;
5369 if [[ -d ${TRAVIS_REPO_SLUG}/docker ]]; then cp -vr ${TRAVIS_REPO_SLUG}/docker/* ${HOME}/docker; fi;
5470 fi
5571 - source ${HOME}/docker/set_env.sh
56- - cp -r $HOME/.ccache ${HOME}/docker/ccache
72+ - test -n "${SKIP}" || cp -r $HOME/.ccache ${HOME}/docker/ccache
5773 - sed -i "1s/latest/${DISTRO:-latest}/" ${HOME}/docker/Dockerfile
5874 - if [[ ! ${SKIP} ]]; then
59- travis_retry timeout 540 docker pull $(sed -n '1s/FROM //p' ${HOME}/docker/Dockerfile);
75+ travis_retry timeout 540 docker pull $(sed -n '1s/FROM //p' ${HOME}/docker/Dockerfile) | cat ;
6076 fi
6177
6278script :
6379 - if [[ ! ${SKIP} ]]; then
6480 travis_retry docker build "${docker_opts[@]}"
65- --build-arg CC=${CC} --build-arg CXX=${CXX} --build-arg CXXFLAGS="-Wall ${WERROR:+-Werror}"
66- --build-arg CI=${CI} --build-arg TRAVIS=${TRAVIS} --build-arg TRAVIS_OS_NAME=${DISTRO:-fedora}
67- --build-arg TRAVIS_BRANCH=${TRAVIS_BRANCH} --build-arg TRAVIS_JOB_NUMBER=${TRAVIS_JOB_NUMBER}
68- --build-arg TRAVIS_PULL_REQUEST=${TRAVIS_PULL_REQUEST} --build-arg TRAVIS_JOB_ID=${TRAVIS_JOB_ID}
69- --build-arg TRAVIS_TAG=${TRAVIS_TAG} --build-arg TRAVIS_REPO_SLUG=${TRAVIS_REPO_SLUG}
70- --build-arg TRAVIS_COMMIT=${TRAVIS_COMMIT}
7181 ${TRAVIS_TAG:+-t votca/votca:${TRAVIS_TAG}}
7282 -t votca/votca:latest -t votca/votca:${TRAVIS_BRANCH} ${HOME}/docker/ &&
7383 rm -rf $HOME/.ccache &&
@@ -76,21 +86,21 @@ script:
7686 fi
7787
7888after_success :
79- - shopt -s extglob && [[ ${TRAVIS_BRANCH} = @(master|stable|v1.*) && ${CC} = *gcc* && ${DOCKERHUB} = yes && ! ${SKIP} ]] && DEPLOY=yes
89+ - if [[ ${TRAVIS_REPO_SLUG} != votca/votca || ${TRAVIS_BUILD_STAGE_NAME} != "Deploy" || ${SKIP} ]]; then travis_terminate 0; fi
90+ - shopt -s extglob && [[ ${TRAVIS_BRANCH} = @(master|stable|v1.*) ]] && DEPLOY=yes
8091 - if [[ ${TRAVIS_BRANCH} = master ]]; then DOCKER_TAG=latest; else DOCKER_TAG="${TRAVIS_BRANCH}"; fi
8192 - if [[ ${DOCKER_USERNAME} && ${DOCKER_PASSWORD} && ${TRAVIS_PULL_REQUEST} == false && ${DEPLOY} ]]; then
8293 docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD";
8394 docker push "${TRAVIS_REPO_SLUG}:${DOCKER_TAG}";
8495 fi
85- - if [[ ${DOXYGEN} = yes && ! ${SKIP} ]] ; then
96+ - if true ; then
8697 git clone --depth=1 https://github.com/votca/doxygen.git "$HOME/devdoc";
8798 cd $HOME/devdoc;
8899 rm -f *;
89100 git checkout -- CNAME;
90101 docker cp ${CON}:/home/votca/votca/build/share/doc/html . ;
91102 mv html/* .; rmdir html;
92103 docker cp ${CON}:/home/votca/votca/build/csg-manual/manual.pdf . ;
93- docker cp ${CON}:/home/votca/votca/build/ctp/manual/ctp-manual.pdf . ;
94104 docker cp ${CON}:/home/votca/votca/build/xtp/manual/xtp-manual.pdf . ;
95105 git add --all .;
96106 if [[ ${TRAVIS_BRANCH} = master && ${encrypted_7abbb71c3ba6_key} && ${encrypted_7abbb71c3ba6_iv} && ${TRAVIS_PULL_REQUEST} == false ]]; then
@@ -106,6 +116,14 @@ after_success:
106116 fi;
107117 fi
108118
119+ branches :
120+ only :
121+ - master
122+ - development
123+ - stable
124+ - next
125+ - /^v\d+\.\d+(\.\d+|_rc\d+)?$/
126+
109127cache :
110128 - ccache
111129
0 commit comments