forked from open62541/open62541
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
134 lines (121 loc) · 4.39 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
language: c
compiler:
- gcc
- clang
os:
- linux
# - osx
# use new build environment (docker)
sudo: false
env:
global:
- secure: nSunY54Wp5HkQCHHbKwlwpbaKyqRVIu/0EnhaoJSwhM1wqerQV/E5d/2JelO9/tZgbungAO7wk/fjutRMVc7d378RTIPwS8vHpvZfEoGhCFsLoTOlqESzsZFBup2H5t1lpQ23jRHDOxlLdJy2lz5U+zd1YnYgDXqdDFjegsIYdo=
- secure: ehswgymGXPM3UINhOOnfSByMnrRNTixeT2vEV+z3kXy3WHew/O1yt9GxaYGrUhJPg4+5chAQgjYmezO1x3/CUKFgeHQUmVTFWEzfy1kL1JVjO+ufYyJDnbY+x3OmyNmMYcef2J5MAuUS2C1KFvIxtLsljVK+gpe4LcylkCIF/3Y=
matrix:
# Do both, compile with static code analysis and without
- ANALYZE=false
- ANALYZE=true
matrix:
exclude:
# This excludes OSX GCC builds.
- os: osx
compiler: gcc
- os: osx
env: ANALYZE=true
allow_failures:
- env: ANALYZE=true
compiler: gcc
addons:
apt:
sources:
# see https://github.com/travis-ci/apt-source-whitelist/blob/master/ubuntu.json
- kalakris-cmake
- ubuntu-toolchain-r-test
packages:
- binutils-mingw-w64-i686
- build-essential
- clang
- cmake
- cppcheck
- gcc-4.8
- gcc-mingw-w64-i686
- gcc-multilib
- g++-4.8
- libc6-dbg # for valgrind compilation
- libsubunit-dev
- libx11-dev
- mingw-w64
- python-lxml
- wget
- xutils-dev
- zip
# - libsubunit-dev #for check_0.10.0
coverity_scan:
project:
name: acplt/open62541
description: Open-source OPC UA
notification_email: [email protected]
build_command_prepend: mkdir build && cd build && cmake ..
build_command: make
branch_pattern: coverity_scan
cache:
pip: true
apt: true
directories:
- $HOME/install
before_install:
# set paths for locally installed libs (like liburcu)
- export LOCAL_PKG=$HOME/install
- mkdir -p $LOCAL_PKG/lib
- mkdir -p $LOCAL_PKG/include
- mkdir -p $LOCAL_PKG/bin
- export LIBRARY_PATH=$LOCAL_PKG/lib:$LIBRARY_PATH
- export C_INCLUDE_PATH=$LOCAL_PKG/include:$C_INCLUDE_PATH
- export CPLUS_INCLUDE_PATH=$LOCAL_PKG/include:$CPLUS_INCLUDE_PATH
- export PKG_CONFIG_PATH=$LOCAL_PKG/lib/pkgconfig:$PKG_CONFIG_PATH
- export PATH=$LOCAL_PKG:$LOCAL_PKG/bin:$PATH
# set local path for python packages
- export PATH=$PATH:$HOME/.local/bin # linux
- export PATH=$PATH:$HOME/Library/Python #OS X
- export PATH=$PATH:$HOME/Library/Python/2.7/bin #OS X
# set search path for check library
- export CHECK_INCLUDE_DIRS=$LOCAL_PKG/include/
- export CHECK_LIBRARIES=$LOCAL_PKG/lib/
- if [ ${TRAVIS_OS_NAME} == "linux" ]; then sh ./tools/travis_linux_before_install.sh; fi
- if [ ${TRAVIS_OS_NAME} == "osx" ]; then sh ./tools/travis_osx_before_install.sh; fi
script:
- if [ ${TRAVIS_OS_NAME} == "linux" ]; then sh ./tools/travis_linux_script.sh; fi
- if [ ${TRAVIS_OS_NAME} == "osx" ]; then sh ./tools/travis_osx_script.sh; fi
after_success:
- if [[ ( ${TRAVIS_OS_NAME} == "linux" && ${CC} == "gcc" && ${TRAVIS_BRANCH} == "master" && ${TRAVIS_PULL_REQUEST} == "false" ) ]]; then sh ./tools/travis_push_doc.sh; fi
- if [[ ( ${TRAVIS_OS_NAME} == "linux" && ${CC} == "gcc" && ${TRAVIS_BRANCH} == "master" && ${TRAVIS_PULL_REQUEST} == "false" ) ]]; then sh ./tools/travis_push_coverity.sh; fi
- if [[ ( ${TRAVIS_OS_NAME} == "linux" && ${CC} == "gcc" ) ]]; then sh ./tools/travis_push_release.sh; fi
before_deploy:
- rm build -rf && mkdir -p build && cd build
- echo "Cross compile release build for Raspberry Pi"
- cd ~
- git clone https://github.com/raspberrypi/tools
- cd -
- export PATH=$PATH:~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/
- cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-rpi64.cmake -DENABLE_AMALGAMATION=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLESERVER=ON -DBUILD_EXAMPLECLIENT=ON ..
- make
- tar -pczf open62541-raspberrypi.tar.gz ../doc ../server_cert.der ../LICENSE ../AUTHORS ../README.md server_static server client_static client libopen62541.so open62541.h open62541.c
- cp open62541-raspberrypi.tar.gz ..
- cd ..
deploy:
provider: releases
api_key:
secure: PKCoA7MBRtHloIbNF4Qj5LQyCafjekfVeFXlMBd9KmC0ynNuef+D7nn38f/jo25/b0Ii7r+hgslkQPezbKyEqo2zcCB8Pn8TWau2hbzKM/dUCPoN90HVaQcRjUi8P2Y+QkouwyPWSujBL35/X5QiAntRotCSbZx4fkyiN8cU95o=
file:
- open62541-win32.zip
- open62541-win64.zip
- open62541-linux32.tar.gz
- open62541-linux64.tar.gz
- open62541-raspberrypi.tar.gz
- open62541.c
- open62541.h
skip_cleanup: true
on:
repo: open62541/open62541
tags: true
condition: $CC = gcc