.travis.yml 5.7 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 33 34
          - python-pip
          - python-setuptools
          - python3-pip
          - python3-setuptools
35
          - valgrind
36
          - psmisc
37

38 39 40 41 42 43
    before_script:
      - 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
          pip install numpy
56
          pip install --user ${TRAVIS_BUILD_DIR}/src/connector/python/linux/python2/
S
Shuduo Sang 已提交
57
          pip3 install numpy
58 59 60
          pip3 install --user ${TRAVIS_BUILD_DIR}/src/connector/python/linux/python3/

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

63
          cd ${TRAVIS_BUILD_DIR}/tests/pytest
64
          ./valgrind-test.sh 2>&1 > mem-error-out.log
65 66 67 68 69 70 71 72 73
          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'

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

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

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

          ;;
        esac

  - os: linux
103
    dist: bionic
104 105 106 107 108 109 110 111 112 113 114 115 116 117
    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:
118
          name: TDengine
119
          version: 2.x
120
          description: TDengine
121 122

        # Where email notification of build analysis results will be sent
123
        notification_email: sdsang@taosdata.com, slguan@taosdata.com
124 125 126

        # Commands to prepare for build_command
        # ** likely specific to your build **
127
        build_command_prepend: cmake . > /dev/null
128 129 130

        # The command that will be added as an argument to "cov-build" to compile your project for analysis,
        # ** likely specific to your build **
131
        build_command: make
132 133 134 135 136 137 138

        # 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 已提交
139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
    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

161
  - os: linux
162
    dist: bionic
163 164 165 166 167 168 169 170 171 172 173
    language: c
    compiler: clang
    env: DESC="linux/clang build"
    git:
      - depth: 1

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

175 176 177 178 179 180
    before_script:
      - cd ${TRAVIS_BUILD_DIR}
      - mkdir debug
      - cd debug

    script:
181 182
      - cmake .. > /dev/null
      - make > /dev/null
183

O
odidev 已提交
184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 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
  - 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:
      - 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:
      - 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

240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255
#  - 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