.travis.yml 7.0 KB
Newer Older
1 2 3 4 5 6 7 8
#
# Configuration
#
#
# Build Matrix
#
matrix:
  - os: linux
9
    dist: bionic
10 11 12 13 14 15 16 17
    language: c

    git:
      - depth: 1

    compiler: gcc
    env: DESC="linux/gcc build and test"

18 19 20 21 22
    addons:
      apt:
        packages:
          - build-essential
          - cmake
sangshuduo's avatar
sangshuduo 已提交
23
          - net-tools
24 25 26 27
          - python-pip
          - python-setuptools
          - python3-pip
          - python3-setuptools
28
          - valgrind
29
          - psmisc
30

31 32 33 34 35 36
    before_script:
      - cd ${TRAVIS_BUILD_DIR}
      - mkdir debug
      - cd debug

    script:
37 38
      - cmake .. > /dev/null
      - make > /dev/null
39 40

    after_success:
S
Shuduo Sang 已提交
41
      - travis_wait 20
42 43 44 45
      - |-
        case $TRAVIS_OS_NAME in
          linux)
          cd ${TRAVIS_BUILD_DIR}/debug
46
          make install > /dev/null || travis_terminate $?
47

S
Shuduo Sang 已提交
48
          pip install numpy
49
          pip install --user ${TRAVIS_BUILD_DIR}/src/connector/python/linux/python2/
S
Shuduo Sang 已提交
50
          pip3 install numpy
51 52 53
          pip3 install --user ${TRAVIS_BUILD_DIR}/src/connector/python/linux/python3/

          cd ${TRAVIS_BUILD_DIR}/tests
54
          ./test-all.sh smoke || travis_terminate $?
55

56
          cd ${TRAVIS_BUILD_DIR}/tests/pytest
57
          ./valgrind-test.sh 2>&1 > mem-error-out.log
58 59 60 61 62 63 64 65 66
          sleep 1

          # Color setting
          RED='\033[0;31m'
          GREEN='\033[1;32m'
          GREEN_DARK='\033[0;32m'
          GREEN_UNDERLINE='\033[4;32m'
          NC='\033[0m'

67
          grep 'start to execute\|ERROR SUMMARY' mem-error-out.log|grep -v 'grep'|uniq|tee uniq-mem-error-out.log
sangshuduo's avatar
sangshuduo 已提交
68

69
          for memError in `grep 'ERROR SUMMARY' uniq-mem-error-out.log | awk '{print $4}'`
sangshuduo's avatar
sangshuduo 已提交
70 71
          do
            if [ -n "$memError" ]; then
72
              if [ "$memError" -gt 12 ]; then
sangshuduo's avatar
sangshuduo 已提交
73 74 75 76
                echo -e "${RED} ## Memory errors number valgrind reports is $memError.\
                         More than our threshold! ## ${NC}"
                travis_terminate $memError
              fi
77
            fi
sangshuduo's avatar
sangshuduo 已提交
78 79
          done

80 81
          grep 'start to execute\|definitely lost:' mem-error-out.log|grep -v 'grep'|uniq|tee uniq-definitely-lost-out.log
          for defiMemError in `grep 'definitely lost:' uniq-definitely-lost-out.log | awk '{print $7}'`
sangshuduo's avatar
sangshuduo 已提交
82 83
          do
            if [ -n "$defiMemError" ]; then
84
              if [ "$defiMemError" -gt 13 ]; then
sangshuduo's avatar
sangshuduo 已提交
85 86 87 88 89 90
                echo -e "${RED} ## Memory errors number valgrind reports \
                         Definitely lost is $defiMemError. More than our threshold! ## ${NC}"
                travis_terminate $defiMemError
              fi
            fi
          done
91 92 93 94 95

          ;;
        esac

  - os: linux
96
    dist: bionic
97 98 99 100 101 102 103 104 105 106 107 108 109 110
    language: c
    compiler: gcc
    env: COVERITY_SCAN=true
    git:
      - depth: 1

    script:
      - echo "this job is for coverity scan"

    addons:
      coverity_scan:
        # GitHub project metadata
        # ** specific to your project **
        project:
111
          name: TDengine
112
          version: 2.x
113
          description: TDengine
114 115

        # Where email notification of build analysis results will be sent
116
        notification_email: sdsang@taosdata.com, slguan@taosdata.com
117 118 119

        # Commands to prepare for build_command
        # ** likely specific to your build **
120
        build_command_prepend: cmake . > /dev/null
121 122 123

        # The command that will be added as an argument to "cov-build" to compile your project for analysis,
        # ** likely specific to your build **
124
        build_command: make
125 126 127 128 129 130 131

        # Pattern to match selecting branches that will run analysis. We recommend leaving this set to 'coverity_scan'.
        # Take care in resource usage, and consider the build frequency allowances per
        #   https://scan.coverity.com/faq#frequency
        branch_pattern: coverity_scan

  - os: linux
132
    dist: bionic
133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
    language: c
    compiler: gcc
    env: ENV_COVER=true

    git:
      - depth: 1

    addons:
      apt:
        packages:
          - build-essential
          - cmake
          - net-tools
          - python-pip
          - python-setuptools
          - python3-pip
          - python3-setuptools
          - lcov
151
          - psmisc
152 153 154 155 156 157 158

    before_script:
      - cd ${TRAVIS_BUILD_DIR}
      - mkdir debug
      - cd debug

    script:
159 160
      - cmake -DCOVER=true .. > /dev/null
      - make > /dev/null
161 162 163 164 165 166

    after_success:
      - |-
        case $TRAVIS_OS_NAME in
          linux)
          cd ${TRAVIS_BUILD_DIR}/debug
167
          make install > /dev/null || travis_terminate $?
168

S
Shuduo Sang 已提交
169
          pip install numpy
170
          pip install --user ${TRAVIS_BUILD_DIR}/src/connector/python/linux/python2/
S
Shuduo Sang 已提交
171
          pip3 install numpy
172 173 174 175
          pip3 install --user ${TRAVIS_BUILD_DIR}/src/connector/python/linux/python3/

          cd ${TRAVIS_BUILD_DIR}/tests

176
          ./test-all.sh smoke COVER
177

178
          TEST_RESULT=$?
179

sangshuduo's avatar
sangshuduo 已提交
180
          pkill taosd
181 182
          sleep 1

183
          cd ${TRAVIS_BUILD_DIR}
S
Shuduo Sang 已提交
184
          lcov -d . --capture --rc lcov_branch_coverage=1 -o coverage.info
S
Shuduo Sang 已提交
185
          lcov --remove coverage.info '*/tests/*' '*/test/*' '*/deps/*' '*/plugins/*' -o coverage.info
186
          lcov -l --rc lcov_branch_coverage=1 coverage.info || travis_terminate $?
187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203

          gem install coveralls-lcov

          # Color setting
          RED='\033[0;31m'
          GREEN='\033[1;32m'
          GREEN_DARK='\033[0;32m'
          GREEN_UNDERLINE='\033[4;32m'
          NC='\033[0m'

          coveralls-lcov coverage.info
          if [ "$?" -eq "0" ]; then
            echo -e "${GREEN} ## Uploaded to Coveralls.io! ## ${NC}"
          else
            echo -e "${RED} ## Coveralls.io not collect coverage report! ## ${NC} "
          fi

sangshuduo's avatar
sangshuduo 已提交
204
          bash <(curl -s https://codecov.io/bash) -y .codecov.yml -f coverage.info
205 206 207 208 209 210
          if [ "$?" -eq "0" ]; then
            echo -e "${GREEN} ## Uploaded to Codecov! ## ${NC} "
          else
            echo -e "${RED} ## Codecov did not collect coverage report! ## ${NC} "
          fi

211 212 213
          if [ "$TEST_RESULT" -ne "0" ]; then
            travis_terminate $?
          fi
214 215 216
          ;;
        esac

S
Shuduo Sang 已提交
217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239
  - os: linux
    dist: trusty
    language: c
    git:
      - depth: 1

    addons:
      apt:
        packages:
          - build-essential
          - cmake
    env: 
      - DESC="trusty/gcc-4.8 build"

    before_script:
      - cd ${TRAVIS_BUILD_DIR}
      - mkdir debug
      - cd debug

    script:
      - cmake .. > /dev/null
      - make > /dev/null

240
  - os: linux
241
    dist: bionic
242 243 244 245 246 247 248 249 250 251 252
    language: c
    compiler: clang
    env: DESC="linux/clang build"
    git:
      - depth: 1

    addons:
      apt:
        packages:
          - build-essential
          - cmake
253

254 255 256 257 258 259
    before_script:
      - cd ${TRAVIS_BUILD_DIR}
      - mkdir debug
      - cd debug

    script:
260 261
      - cmake .. > /dev/null
      - make > /dev/null
262 263 264 265 266 267 268 269 270 271 272 273 274 275 276

        #  - os: osx
        #    language: c
        #    compiler: clang
        #    env: DESC="mac/clang build"
        #    git:
        #      - depth: 1
        #    addons:
        #      homebrew:
        #        - cmake
        #
        #    script:
        #      - cd ${TRAVIS_BUILD_DIR}
        #      - mkdir debug
        #      - cd debug
277 278
        #      - cmake .. > /dev/null
        #      - make > /dev/null