File: .travis.yml

package info (click to toggle)
kim-api 2.0~beta2.gita734d1-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 3,944 kB
  • sloc: cpp: 22,447; f90: 13,218; ansic: 3,865; sh: 1,960; makefile: 298
file content (64 lines) | stat: -rw-r--r-- 2,362 bytes parent folder | download
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
language: cpp

sudo: required

osx_image:
 - xcode9.2

os:
 - linux
 - osx

services:
 - docker

env:
  matrix:
    - DISTRO=fedora DOCKERHUB=true

before_script:
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
      brew update &> /dev/null &&
      rm /usr/local/include/c++ &&
      brew install gcc@6 &&
      export CC=gcc-6 &&
      export CXX=g++-6 &&
      export FC=gfortran-6;
    else
       mkdir ${HOME}/docker &&
       cp -v docker/Dockerfile.${DISTRO} ${HOME}/docker/Dockerfile &&
       cd ../../ &&
       mv -v ${TRAVIS_REPO_SLUG} $HOME/docker &&
       cp -r $HOME/.ccache ${HOME}/docker/ccache;
    fi

script:
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
      mkdir build && cd build && cmake -DKIM_API_BUILD_MODELS_AND_DRIVERS=ON -DKIM_API_ENABLE_SANITIZE=ON -DKIM_API_ENABLE_COVERAGE=ON .. && make &&
      make test && bash <(curl -s https://codecov.io/bash) -x gcov-6 &&
      make install DESTDIR=$PWD && rm -rf ./usr/local/* && rmdir ./usr/local;
    else
       travis_retry docker build -t ${TRAVIS_REPO_SLUG}:${DISTRO}
                 --build-arg CC=${CC} --build-arg CXX=${CXX} --build-arg FC=${FC}
                 --build-arg CXXFLAGS="${CXXFLAGS}" --build-arg CMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE}"
                 --build-arg COVERAGE="${COVERAGE}"
                 --build-arg SANITIZE="${SANITIZE}"
                 --build-arg CI=${CI} --build-arg TRAVIS=${TRAVIS} --build-arg TRAVIS_OS_NAME=${DISTRO:-fedora}
                 --build-arg TRAVIS_BRANCH=${TRAVIS_BRANCH} --build-arg TRAVIS_JOB_NUMBER=${TRAVIS_JOB_NUMBER}
                 --build-arg TRAVIS_PULL_REQUEST=${TRAVIS_PULL_REQUEST} --build-arg TRAVIS_JOB_ID=${TRAVIS_JOB_ID}
                 --build-arg TRAVIS_TAG=${TRAVIS_TAG} --build-arg TRAVIS_REPO_SLUG=${TRAVIS_REPO_SLUG}
                 --build-arg TRAVIS_COMMIT=${TRAVIS_COMMIT}
                 ${HOME}/docker/ &&
      rm -rf $HOME/.ccache &&
      CON=$(docker run -d ${TRAVIS_REPO_SLUG}:${DISTRO} /bin/bash) &&
      docker cp ${CON}:/home/kim/.ccache ${HOME}/;
    fi

after_success:
  - if [[ ${DOCKERHUB} && ${DOCKER_USERNAME} && ${DOCKER_PASSWORD} && ${TRAVIS_BRANCH} == cmake && ${TRAVIS_PULL_REQUEST} == false && ${TRAVIS_OS_NAME} = "linux" ]]; then
      docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD";
      docker push "${TRAVIS_REPO_SLUG}:${DISTRO}";
    fi

cache:
  - ccache