.travis.yml 5.6 KB
#
# Configuration
#
#
# Build Matrix
#
matrix:
  - os: linux
    language: c

    git:
      - depth: 1

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

    addons:
      apt:
        packages:
          - build-essential
          - cmake
          - net-tools
          - python-pip
          - python-setuptools
          - python3-pip
          - python3-setuptools
          - valgrind

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

    script:
      - cmake ..
      - make

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

          pip install --user ${TRAVIS_BUILD_DIR}/src/connector/python/linux/python2/
          pip3 install --user ${TRAVIS_BUILD_DIR}/src/connector/python/linux/python3/

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

          cd ${TRAVIS_BUILD_DIR}/tests/pytest
          ./simpletest.sh -g 2>&1 | tee mem-error-out.txt
          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'

          tail -10 mem-error-out.txt
          defiMemError=`grep -m 1 'definitely lost' mem-error-out.txt | awk '{print $7}'`
          memError=`grep -m 1 'ERROR SUMMARY' mem-error-out.txt | awk '{print $4}'`

          if [ -n "$memError" ]; then
            if [ "$memError" -gt 16 ] || [ "$defiMemError" -gt 0 ]; then
              echo -e "${RED} ## Memory errors number valgrind reports is $memError.\
                       Definitely lost is $defiMemError. More than our threshold! ## ${NC}"
              travis_terminate $memError
            fi
          fi

          ;;
        esac

  - os: linux
    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:
          name: TDengine
          version: 2.x
          description: taosdata/TDengine

        # Where email notification of build analysis results will be sent
        notification_email: sdsang@taosdata.com

        # Commands to prepare for build_command
        # ** likely specific to your build **
        build_command_prepend: cmake .

        # The command that will be added as an argument to "cov-build" to compile your project for analysis,
        # ** likely specific to your build **
        build_command: make

        # 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
    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

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

    script:
      - cmake -DCOVER=true ..
      - make

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

          pip install --user ${TRAVIS_BUILD_DIR}/src/connector/python/linux/python2/
          pip3 install --user ${TRAVIS_BUILD_DIR}/src/connector/python/linux/python3/

          cd ${TRAVIS_BUILD_DIR}/tests

          ./test-all.sh

          if [ "$?" -ne "0" ]; then
            travis_terminate $?
          fi

          pkill taosd
          sleep 1

          cd ${TRAVIS_BUILD_DIR}
          lcov -d . --capture --rc lcov_branch_coverage=1 -o coverage.info
          lcov -l --rc lcov_branch_coverage=1 coverage.info || travis_terminate $?

          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

          bash <(curl -s https://codecov.io/bash) -y .codecov.yml -f coverage.info
          if [ "$?" -eq "0" ]; then
            echo -e "${GREEN} ## Uploaded to Codecov! ## ${NC} "
          else
            echo -e "${RED} ## Codecov did not collect coverage report! ## ${NC} "
          fi

          ;;
        esac

  - os: linux
    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:
      - cmake ..
      - make

        #  - 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 ..
        #      - make
反馈
建议
客服 返回
顶部