.travis.yml 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. language: c
  2. # use new build environment (docker)
  3. sudo: required
  4. env:
  5. global:
  6. # GITAUTH:
  7. - secure: nSunY54Wp5HkQCHHbKwlwpbaKyqRVIu/0EnhaoJSwhM1wqerQV/E5d/2JelO9/tZgbungAO7wk/fjutRMVc7d378RTIPwS8vHpvZfEoGhCFsLoTOlqESzsZFBup2H5t1lpQ23jRHDOxlLdJy2lz5U+zd1YnYgDXqdDFjegsIYdo=
  8. # COVERITY_SCAN_TOKEN:
  9. - secure: C7LLWmOCdRYJGiXjFYDHWwBB6XGjs9Hio4kkvDehLRredRgp1UJ73g6Av9L7xrTUide6GiPrSd+RJw7py/twx5qaeIjOWPy+XvtmabDEQBquLjEkvS+LP2EycaMe92kHMo1ItFfRomgj1FyNYPVnUFgdyedGWv+p553ziDbrMas=
  10. dist: trusty
  11. matrix:
  12. fast_finish: true
  13. include:
  14. - os: linux
  15. compiler: gcc
  16. env:
  17. - ANALYZE=false
  18. - PYTHON=python2
  19. - os: linux
  20. compiler: gcc
  21. env: ANALYZE=true
  22. - os: linux
  23. compiler: gcc
  24. env: DOCKER=true
  25. services:
  26. - docker
  27. - os: linux
  28. compiler: clang
  29. env:
  30. - ANALYZE=false
  31. - PYTHON=python2
  32. - os: linux
  33. compiler: clang
  34. env:
  35. - ANALYZE=false
  36. - PYTHON=python3
  37. - os: linux
  38. compiler: tcc
  39. env:
  40. - ANALYZE=false
  41. - PYTHON=python2
  42. - os: linux
  43. compiler: clang
  44. env: ANALYZE=true
  45. - os: linux
  46. compiler: clang
  47. env: FUZZER=true
  48. #- os: linux
  49. # compiler: gcc
  50. # env: LINT=true
  51. # - os: osx
  52. # compiler: clang
  53. # # disable homebrew auto update which takes a lot of time
  54. # env: HOMEBREW_NO_AUTO_UPDATE=1
  55. # cache:
  56. # directories:
  57. # - $HOME/Library/Caches/Homebrew
  58. addons:
  59. apt:
  60. sources:
  61. # see https://github.com/travis-ci/apt-source-whitelist/blob/master/ubuntu.json
  62. packages:
  63. - binutils-mingw-w64-i686
  64. - build-essential
  65. - check
  66. - cmake
  67. - cppcheck
  68. - gcc-multilib
  69. - g++-mingw-w64-i686
  70. - g++-mingw-w64-x86-64
  71. - g++-multilib
  72. - graphviz
  73. - libsubunit-dev
  74. - libx11-dev
  75. - mingw-w64
  76. - python-six
  77. - python3-six
  78. - texlive-fonts-recommended
  79. - texlive-latex-extra
  80. - texlive-latex-recommended
  81. - valgrind
  82. - wget
  83. - xutils-dev
  84. - zip
  85. coverity_scan:
  86. project:
  87. name: "open62541/open62541"
  88. description: "Build submitted by Travis"
  89. notification_email: null@plt.rwth-aachen.de
  90. build_command_prepend: "mkdir build && cd build && cmake .."
  91. build_command: "make"
  92. branch_pattern: coverity_scan
  93. cache:
  94. pip: true
  95. apt: true
  96. directories:
  97. - $HOME/install
  98. - $HOME/.cache/pip
  99. # combine all the commands into one single command. See https://github.com/travis-ci/travis-ci/issues/1066
  100. before_install: |
  101. set -e
  102. # Exit travis if on coverity_scan branch and not first build
  103. test $TRAVIS_BRANCH != coverity_scan -o ${TRAVIS_JOB_NUMBER##*.} = 1 || exit 0
  104. if [ ${TRAVIS_OS_NAME} == "linux" ]; then echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-; fi
  105. if [ ${TRAVIS_OS_NAME} == "linux" ]; then sh ./tools/travis/travis_linux_before_install.sh; fi
  106. if [ ${TRAVIS_OS_NAME} == "osx" ]; then sh ./tools/travis/travis_osx_before_install.sh; fi
  107. script: |
  108. set -e
  109. if [ ${TRAVIS_OS_NAME} == "linux" ]; then sh ./tools/travis/travis_linux_script.sh; fi
  110. if [ ${TRAVIS_OS_NAME} == "osx" ]; then sh ./tools/travis/travis_osx_script.sh; fi
  111. after_success: |
  112. if [ ${TRAVIS_OS_NAME} == "linux" ]; then sh ./tools/travis/travis_linux_after_success.sh; fi
  113. # Sleep to flush travis output
  114. echo == Build success ==
  115. sleep 5
  116. after_failure: |
  117. # Sleep to flush travis output
  118. echo == Build failed ==
  119. sleep 5
  120. deploy:
  121. provider: releases
  122. api_key:
  123. secure: PKCoA7MBRtHloIbNF4Qj5LQyCafjekfVeFXlMBd9KmC0ynNuef+D7nn38f/jo25/b0Ii7r+hgslkQPezbKyEqo2zcCB8Pn8TWau2hbzKM/dUCPoN90HVaQcRjUi8P2Y+QkouwyPWSujBL35/X5QiAntRotCSbZx4fkyiN8cU95o=
  124. file:
  125. - open62541-win32.zip
  126. - open62541-win64.zip
  127. - open62541-linux32.tar.gz
  128. - open62541-linux64.tar.gz
  129. - open62541-raspberrypi.tar.gz
  130. - open62541.c
  131. - open62541.h
  132. skip_cleanup: true
  133. on:
  134. repo: open62541/open62541
  135. tags: true
  136. condition: $CC = gcc && $ANALYZE = false