# # 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 .. > /dev/null - make > /dev/null after_success: - |- case $TRAVIS_OS_NAME in linux) cd ${TRAVIS_BUILD_DIR}/debug make install > /dev/null || 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_EVENT_TYPE || travis_terminate $? cd ${TRAVIS_BUILD_DIR}/tests/pytest ./smoketest.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' grep 'ERROR SUMMARY' mem-error-out.txt | uniq | tee uniq-mem-error-out.txt for memError in `cat uniq-mem-error-out.txt | awk '{print $4}'` do if [ -n "$memError" ]; then if [ "$memError" -gt 16 ]; then echo -e "${RED} ## Memory errors number valgrind reports is $memError.\ More than our threshold! ## ${NC}" travis_terminate $memError fi fi done grep 'definitely lost' mem-error-out.txt | uniq | tee uniq-definitely-lost-out.txt for defiMemError in `cat uniq-definitely-lost-out.txt | awk '{print $7}'` do if [ -n "$defiMemError" ]; then if [ "$defiMemError" -gt 16 ]; then echo -e "${RED} ## Memory errors number valgrind reports \ Definitely lost is $defiMemError. More than our threshold! ## ${NC}" travis_terminate $defiMemError fi fi done ;; 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: 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 . > /dev/null # 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 > /dev/null # 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 .. > /dev/null - make > /dev/null after_success: - |- case $TRAVIS_OS_NAME in linux) cd ${TRAVIS_BUILD_DIR}/debug make install > /dev/null || 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 .. > /dev/null - make > /dev/null # - 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