.travis.yml 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. language: c
  2. compiler:
  3. - gcc
  4. - clang
  5. os:
  6. - linux
  7. # - osx
  8. # use new build environment (docker)
  9. dist: trusty
  10. sudo: required
  11. env:
  12. global:
  13. - secure: nSunY54Wp5HkQCHHbKwlwpbaKyqRVIu/0EnhaoJSwhM1wqerQV/E5d/2JelO9/tZgbungAO7wk/fjutRMVc7d378RTIPwS8vHpvZfEoGhCFsLoTOlqESzsZFBup2H5t1lpQ23jRHDOxlLdJy2lz5U+zd1YnYgDXqdDFjegsIYdo=
  14. - secure: ehswgymGXPM3UINhOOnfSByMnrRNTixeT2vEV+z3kXy3WHew/O1yt9GxaYGrUhJPg4+5chAQgjYmezO1x3/CUKFgeHQUmVTFWEzfy1kL1JVjO+ufYyJDnbY+x3OmyNmMYcef2J5MAuUS2C1KFvIxtLsljVK+gpe4LcylkCIF/3Y=
  15. matrix:
  16. # Do both, compile with static code analysis and without
  17. - ANALYZE=false
  18. - ANALYZE=true
  19. matrix:
  20. exclude:
  21. # This excludes OSX GCC builds.
  22. - os: osx
  23. compiler: gcc
  24. - os: osx
  25. env: ANALYZE=true
  26. addons:
  27. apt:
  28. sources:
  29. # see https://github.com/travis-ci/apt-source-whitelist/blob/master/ubuntu.json
  30. - kalakris-cmake
  31. packages:
  32. - binutils-mingw-w64-i686
  33. - build-essential
  34. - clang
  35. - clang-3.7
  36. - cmake
  37. - gcc-multilib
  38. - g++-multilib
  39. - valgrind
  40. - check
  41. - cppcheck
  42. - mingw-w64
  43. - g++-mingw-w64-x86-64
  44. - g++-mingw-w64-i686
  45. - libc6-dbg # for valgrind compilation
  46. - libsubunit-dev
  47. - libx11-dev
  48. - wget
  49. - xutils-dev
  50. - zip
  51. - graphviz
  52. - texlive-latex-recommended
  53. - texlive-latex-extra
  54. - texlive-fonts-recommended
  55. coverity_scan:
  56. project:
  57. name: acplt/open62541
  58. description: Open-source OPC UA
  59. notification_email: null@plt.rwth-aachen.de
  60. build_command_prepend: mkdir build && cd build && cmake ..
  61. build_command: make
  62. branch_pattern: coverity_scan
  63. cache:
  64. pip: true
  65. apt: true
  66. directories:
  67. - $HOME/install
  68. before_install:
  69. - sh ./tools/travis/travis_notifications.sh
  70. - if [ ${TRAVIS_OS_NAME} == "linux" ]; then sh ./tools/travis/travis_linux_before_install.sh; fi
  71. - if [ ${TRAVIS_OS_NAME} == "osx" ]; then sh ./tools/travis/travis_osx_before_install.sh; fi
  72. script:
  73. - if [ ${TRAVIS_OS_NAME} == "linux" ]; then sh ./tools/travis/travis_linux_script.sh; fi
  74. - if [ ${TRAVIS_OS_NAME} == "osx" ]; then sh ./tools/travis/travis_osx_script.sh; fi
  75. after_success:
  76. - if [ ${TRAVIS_OS_NAME} == "linux" ]; then sh ./tools/travis/travis_linux_after_success.sh; fi
  77. before_deploy:
  78. - rm build -rf && mkdir -p build && cd build
  79. - echo "Cross compile release build for Raspberry Pi"
  80. - cd ~
  81. - git clone https://github.com/raspberrypi/tools
  82. - cd -
  83. - export PATH=$PATH:~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/
  84. - cmake -DCMAKE_TOOLCHAIN_FILE=../tools/cmake/Toolchain-rpi64.cmake -DUA_ENABLE_AMALGAMATION=ON -DCMAKE_BUILD_TYPE=Release -DUA_BUILD_EXAMPLES=ON ..
  85. - make
  86. - tar -pczf open62541-raspberrypi.tar.gz ../doc ../../server_cert.der ../LICENSE ../AUTHORS ../README.md examples/server examples/client libopen62541.a open62541.h open62541.c
  87. - cp open62541-raspberrypi.tar.gz ..
  88. - cd ..
  89. deploy:
  90. provider: releases
  91. api_key:
  92. secure: PKCoA7MBRtHloIbNF4Qj5LQyCafjekfVeFXlMBd9KmC0ynNuef+D7nn38f/jo25/b0Ii7r+hgslkQPezbKyEqo2zcCB8Pn8TWau2hbzKM/dUCPoN90HVaQcRjUi8P2Y+QkouwyPWSujBL35/X5QiAntRotCSbZx4fkyiN8cU95o=
  93. file:
  94. - open62541-win32.zip
  95. - open62541-win64.zip
  96. - open62541-linux32.tar.gz
  97. - open62541-linux64.tar.gz
  98. - open62541-raspberrypi.tar.gz
  99. - open62541.c
  100. - open62541.h
  101. skip_cleanup: true
  102. on:
  103. repo: open62541/open62541
  104. tags: true
  105. condition: $CC = gcc && $ANALYZE = false
  106. notifications:
  107. irc:
  108. channels:
  109. - "chat.freenode.net#open62541"
  110. on_success: ${IRC_NOTIFY_SUCCESS} # default: change, variable defined in ./tools/travis/travis_notification.sh
  111. on_failure: ${IRC_NOTIFY_FAILURE} # default: always, variable defined in ./tools/travis/travis_notification.sh
  112. use_notice: true
  113. skip_join: true