.travis.yml 7.0 KB
Newer Older
1 2 3 4 5 6
#
# Configuration
#
#
# Build Matrix
#
S
Shuduo Sang 已提交
7 8 9 10 11 12 13
branches:
  only:
    - master
    - develop
    - coverity_scan
    - /^.*ci-.*$/

14 15
matrix:
  - os: linux
16
    dist: bionic
17 18 19 20 21 22 23 24
    language: c

    git:
      - depth: 1

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

25 26 27 28 29
    addons:
      apt:
        packages:
          - build-essential
          - cmake
sangshuduo's avatar
sangshuduo 已提交
30
          - net-tools
31 32
          - python3.8
          - libc6-dbg
33
          - valgrind
34
          - psmisc
35 36
          - unixodbc
          - unixodbc-dev
37
          - mono-complete
38

39
    before_script:
S
Shuduo Sang 已提交
40
      - export TZ=Asia/Harbin
S
Shuduo Sang 已提交
41
      - date
42 43
      - curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && python3.8 get-pip.py
      - python3.8 -m pip install --upgrade pip setuptools
44 45 46 47 48
      - cd ${TRAVIS_BUILD_DIR}
      - mkdir debug
      - cd debug

    script:
49 50
      - cmake .. > /dev/null
      - make > /dev/null
51 52

    after_success:
S
Shuduo Sang 已提交
53
      - travis_wait 20
54 55 56 57
      - |-
        case $TRAVIS_OS_NAME in
          linux)
          cd ${TRAVIS_BUILD_DIR}/debug
58
          make install > /dev/null || travis_terminate $?
59

60 61
          py3ver=`python3 --version|awk '{print $2}'|cut -d "." -f 1,2` && apt install python$py3ver-dev
          pip3 install psutil
P
Ping Xiao 已提交
62
          pip3 install guppy3
63 64
          pip3 install --user ${TRAVIS_BUILD_DIR}/src/connector/python/linux/python3/

65 66 67 68 69
          cd ${TRAVIS_BUILD_DIR}/tests/examples/C#/taosdemo
          mcs -out:taosdemo *.cs || travis_terminate $?
          pkill -TERM -x taosd
          fuser -k -n tcp 6030
          sleep 1
70 71
          ${TRAVIS_BUILD_DIR}/debug/build/bin/taosd -c ${TRAVIS_BUILD_DIR}/debug/test/cfg > /dev/null &
          sleep 5
72
          mono taosdemo -Q DEFAULT -y || travis_terminate $?
73 74 75
          pkill -KILL -x taosd
          fuser -k -n tcp 6030
          sleep 1
76

77
          cd ${TRAVIS_BUILD_DIR}/tests
78
          ./test-all.sh smoke || travis_terminate $?
S
Shuduo Sang 已提交
79 80 81
          sleep 1

          cd ${TRAVIS_BUILD_DIR}/tests/pytest
S
Shuduo Sang 已提交
82 83 84
          pkill -TERM -x taosd
          fuser -k -n tcp 6030
          sleep 1
S
Shuduo Sang 已提交
85
          ./crash_gen.sh -a -p -t 4 -s 2000|| travis_terminate $?
S
Shuduo Sang 已提交
86
          sleep 1
87

88
          cd ${TRAVIS_BUILD_DIR}/tests/pytest
89
          ./valgrind-test.sh 2>&1 > mem-error-out.log
90 91
          sleep 1

92

93 94 95 96 97 98 99
          # Color setting
          RED='\033[0;31m'
          GREEN='\033[1;32m'
          GREEN_DARK='\033[0;32m'
          GREEN_UNDERLINE='\033[4;32m'
          NC='\033[0m'

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

102
          for memError in `grep 'ERROR SUMMARY' uniq-mem-error-out.log | awk '{print $4}'`
sangshuduo's avatar
sangshuduo 已提交
103 104
          do
            if [ -n "$memError" ]; then
105
              if [ "$memError" -gt 12 ]; then
sangshuduo's avatar
sangshuduo 已提交
106 107 108 109
                echo -e "${RED} ## Memory errors number valgrind reports is $memError.\
                         More than our threshold! ## ${NC}"
                travis_terminate $memError
              fi
110
            fi
sangshuduo's avatar
sangshuduo 已提交
111 112
          done

113 114
          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 已提交
115 116
          do
            if [ -n "$defiMemError" ]; then
117
              if [ "$defiMemError" -gt 13 ]; then
sangshuduo's avatar
sangshuduo 已提交
118 119 120 121 122 123
                echo -e "${RED} ## Memory errors number valgrind reports \
                         Definitely lost is $defiMemError. More than our threshold! ## ${NC}"
                travis_terminate $defiMemError
              fi
            fi
          done
124 125 126 127 128

          ;;
        esac

  - os: linux
129
    dist: bionic
130 131 132 133 134 135 136 137 138 139 140 141 142 143
    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:
144
          name: TDengine
145
          version: 2.x
146
          description: TDengine
147 148

        # Where email notification of build analysis results will be sent
149
        notification_email: sdsang@taosdata.com, slguan@taosdata.com
150 151 152

        # Commands to prepare for build_command
        # ** likely specific to your build **
153
        build_command_prepend: cmake . > /dev/null
154 155 156

        # The command that will be added as an argument to "cov-build" to compile your project for analysis,
        # ** likely specific to your build **
157
        build_command: make
158 159 160 161 162 163 164

        # 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
165
    dist: trusty
S
Shuduo Sang 已提交
166 167 168 169 170 171 172 173 174
    language: c
    git:
      - depth: 1

    addons:
      apt:
        packages:
          - build-essential
          - cmake
175
          - binutils-2.26
F
freemine 已提交
176 177
          - unixodbc
          - unixodbc-dev
S
Shuduo Sang 已提交
178
    env: 
179
      - DESC="trusty/gcc-4.8/bintuils-2.26 build"
S
Shuduo Sang 已提交
180 181

    before_script:
S
Shuduo Sang 已提交
182
      - export TZ=Asia/Harbin
S
Shuduo Sang 已提交
183
      - date
S
Shuduo Sang 已提交
184 185 186 187 188 189
      - cd ${TRAVIS_BUILD_DIR}
      - mkdir debug
      - cd debug

    script:
      - cmake .. > /dev/null
190
      - export PATH=/usr/lib/binutils-2.26/bin:$PATH && make
S
Shuduo Sang 已提交
191

192
  - os: linux
193
    dist: bionic
194 195 196 197 198 199 200 201 202 203 204
    language: c
    compiler: clang
    env: DESC="linux/clang build"
    git:
      - depth: 1

    addons:
      apt:
        packages:
          - build-essential
          - cmake
F
freemine 已提交
205 206
          - unixodbc
          - unixodbc-dev
207

208
    before_script:
S
Shuduo Sang 已提交
209
      - export TZ=Asia/Harbin
S
Shuduo Sang 已提交
210
      - date
211 212 213 214 215
      - cd ${TRAVIS_BUILD_DIR}
      - mkdir debug
      - cd debug

    script:
S
yml  
Shengliang Guan 已提交
216 217
      - cmake .. > /dev/null
      - make  > /dev/null
218

O
odidev 已提交
219 220 221 222 223
  - os: linux
    arch: arm64
    dist: bionic
    language: c
    compiler: clang
224
    env: DESC="arm64 linux/clang build"
O
odidev 已提交
225 226 227 228 229 230 231 232 233 234
    git:
      - depth: 1

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

    before_script:
S
Shuduo Sang 已提交
235
      - export TZ=Asia/Harbin
S
Shuduo Sang 已提交
236
      - date
O
odidev 已提交
237 238 239 240 241 242 243 244 245 246 247 248 249 250
      - cd ${TRAVIS_BUILD_DIR}
      - mkdir debug
      - cd debug

    script:
      - if [ "${TRAVIS_CPU_ARCH}" == "arm64" ]; then
         cmake .. -DCPUTYPE=aarch64 > /dev/null;
        else
         cmake .. > /dev/null;
        fi
      - make > /dev/null

  - os: linux
    arch: arm64
L
relo  
liuyq-617 已提交
251
    dist: xenial
O
odidev 已提交
252 253 254 255 256 257 258 259 260
    language: c
    git:
      - depth: 1

    addons:
      apt:
        packages:
          - build-essential
          - cmake
F
freemine 已提交
261 262
          - unixodbc
          - unixodbc-dev
O
odidev 已提交
263
    env:
264
      - DESC="arm64 xenial build"
O
odidev 已提交
265 266

    before_script:
S
Shuduo Sang 已提交
267
      - export TZ=Asia/Harbin
S
Shuduo Sang 已提交
268
      - date
O
odidev 已提交
269 270 271 272 273 274 275 276 277 278 279 280
      - cd ${TRAVIS_BUILD_DIR}
      - mkdir debug
      - cd debug

    script:
      - if [ "${TRAVIS_CPU_ARCH}" == "arm64" ]; then
         cmake .. -DCPUTYPE=aarch64 > /dev/null;
        else
         cmake .. > /dev/null;
        fi
      - make > /dev/null

281 282 283 284 285 286 287 288 289 290
  - os: osx
    osx_image: xcode11.4
    language: c
    compiler: clang
    env: DESC="mac/clang build"
    git:
      - depth: 1
    addons:
      homebrew:
        - cmake
F
freemine 已提交
291
        - unixodbc
292 293 294 295 296 297 298

    script:
      - cd ${TRAVIS_BUILD_DIR}
      - mkdir debug
      - cd debug
      - cmake .. > /dev/null
      - make > /dev/null