.travis.yml 6.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: focal
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-pip
          - python3-setuptools
33
          - valgrind
34
          - psmisc
35

36
    before_script:
S
Shuduo Sang 已提交
37
      - export TZ=Asia/Harbin
S
Shuduo Sang 已提交
38
      - date
39 40 41 42 43
      - cd ${TRAVIS_BUILD_DIR}
      - mkdir debug
      - cd debug

    script:
44 45
      - cmake .. > /dev/null
      - make > /dev/null
46 47

    after_success:
S
Shuduo Sang 已提交
48
      - travis_wait 20
49 50 51 52
      - |-
        case $TRAVIS_OS_NAME in
          linux)
          cd ${TRAVIS_BUILD_DIR}/debug
53
          make install > /dev/null || travis_terminate $?
54

S
Shuduo Sang 已提交
55
          pip3 install numpy
56 57 58
          pip3 install --user ${TRAVIS_BUILD_DIR}/src/connector/python/linux/python3/

          cd ${TRAVIS_BUILD_DIR}/tests
59
          ./test-all.sh smoke || travis_terminate $?
S
Shuduo Sang 已提交
60 61 62
          sleep 1

          cd ${TRAVIS_BUILD_DIR}/tests/pytest
S
Shuduo Sang 已提交
63 64 65
          pkill -TERM -x taosd
          fuser -k -n tcp 6030
          sleep 1
S
Shuduo Sang 已提交
66
          ./crash_gen.sh -a -p -t 5 -s 50|| travis_terminate $?
S
Shuduo Sang 已提交
67
          sleep 1
68

69
          cd ${TRAVIS_BUILD_DIR}/tests/pytest
70
          ./valgrind-test.sh 2>&1 > mem-error-out.log
71 72 73 74 75 76 77 78 79
          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'

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

82
          for memError in `grep 'ERROR SUMMARY' uniq-mem-error-out.log | awk '{print $4}'`
sangshuduo's avatar
sangshuduo 已提交
83 84
          do
            if [ -n "$memError" ]; then
85
              if [ "$memError" -gt 12 ]; then
sangshuduo's avatar
sangshuduo 已提交
86 87 88 89
                echo -e "${RED} ## Memory errors number valgrind reports is $memError.\
                         More than our threshold! ## ${NC}"
                travis_terminate $memError
              fi
90
            fi
sangshuduo's avatar
sangshuduo 已提交
91 92
          done

93 94
          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 已提交
95 96
          do
            if [ -n "$defiMemError" ]; then
97
              if [ "$defiMemError" -gt 13 ]; then
sangshuduo's avatar
sangshuduo 已提交
98 99 100 101 102 103
                echo -e "${RED} ## Memory errors number valgrind reports \
                         Definitely lost is $defiMemError. More than our threshold! ## ${NC}"
                travis_terminate $defiMemError
              fi
            fi
          done
104 105 106 107 108

          ;;
        esac

  - os: linux
109
    dist: bionic
110 111 112 113 114 115 116 117 118 119 120 121 122 123
    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:
124
          name: TDengine
125
          version: 2.x
126
          description: TDengine
127 128

        # Where email notification of build analysis results will be sent
129
        notification_email: sdsang@taosdata.com, slguan@taosdata.com
130 131 132

        # Commands to prepare for build_command
        # ** likely specific to your build **
133
        build_command_prepend: cmake . > /dev/null
134 135 136

        # The command that will be added as an argument to "cov-build" to compile your project for analysis,
        # ** likely specific to your build **
137
        build_command: make
138 139 140 141 142 143 144

        # 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
S
Shuduo Sang 已提交
145 146 147 148 149 150 151 152 153 154 155 156 157 158
    dist: trusty
    language: c
    git:
      - depth: 1

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

    before_script:
S
Shuduo Sang 已提交
159
      - export TZ=Asia/Harbin
S
Shuduo Sang 已提交
160
      - date
S
Shuduo Sang 已提交
161 162 163 164 165 166 167 168
      - cd ${TRAVIS_BUILD_DIR}
      - mkdir debug
      - cd debug

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

169
  - os: linux
170
    dist: bionic
171 172 173 174 175 176 177 178 179 180 181
    language: c
    compiler: clang
    env: DESC="linux/clang build"
    git:
      - depth: 1

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

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

    script:
191 192
      - cmake .. > /dev/null
      - make > /dev/null
193

O
odidev 已提交
194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209
  - os: linux
    arch: arm64
    dist: bionic
    language: c
    compiler: clang
    env: DESC="linux/clang build"
    git:
      - depth: 1

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

    before_script:
S
Shuduo Sang 已提交
210
      - export TZ=Asia/Harbin
S
Shuduo Sang 已提交
211
      - date
O
odidev 已提交
212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239
      - 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
    dist: trusty
    language: c
    git:
      - depth: 1

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

    before_script:
S
Shuduo Sang 已提交
240
      - export TZ=Asia/Harbin
S
Shuduo Sang 已提交
241
      - date
O
odidev 已提交
242 243 244 245 246 247 248 249 250 251 252 253
      - 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

254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269
#  - 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
#      - cmake .. > /dev/null
#      - make > /dev/null