blob: c214f074eeff1fe52639198407d69e4b06c7d457 (
plain)
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
135
136
137
138
139
140
141
142
143
144
145
|
language: c
compiler:
- gcc
- clang
sudo: false
dist: trusty
env:
matrix:
- WITH_CRYPTO=ossl OPENSSL_BRANCH=OpenSSL_1_0_2-stable
- WITH_CRYPTO=ossl OPENSSL_BRANCH=OpenSSL_1_1_0-stable
- WITH_CRYPTO=gcrypt OPENSSL_BRANCH=OpenSSL_1_0_2-stable
global:
# COVERITY_SCAN_TOKEN
- secure: "ZD0KxBhO/CaSE/TOkW+H5nsBbaMolbIPv5DgctcjA1BlTckgc5lK4m+7BIR1Fft6gaeeLOoCY3qUm4kW++Bqk2bTsrx/HvrmVmrzMO572jA74x4E+5lynUnRVaAgBg7cVBcB0hZcUurx8FifNBbgnWlxT/nDWttVnglkz400GCE9/zy+VTJWqt4QAB+6qeKPiG3vRthQdWcHstBI8IIAbvp4rhSUajBBQeZ5ro5RPGNy+iHen+t6tyJmbjiP0Y4qjkKGbfwXHnsseEcuSJQuxSkQ9MWK6t93BFXFSPw5MjHIApMn+4CjRp2JMoVTVfe5fFeZEHxVUmAzy+e5eIeftrUtUlCI293UuxZnw/vpJczn3BWunlhhjqjsCwVeknzGHxlaT+ck8Et1Mdl/3nY/E9dt47/NOzXY2xrAz59GYsdKvvsPoCGgNlAub03Vl0W24I1kjppsmN/zFwazHGqoxIBTwrDOQUmZvPfXA3jAUozrfAdT3YjnRcCG7bbQmacFApqfUm/bqMgapAgozjjxpuBrO1wQSUjjH6NANZsP2Gpk0eAl7FOlBzbVgKPxCQozWCjpKOj3HMnXX458ZQWsboG5J00wwjw9DRNRCkeexLdi832L/BPhUY5JgRlTqqyKr9cr69DvogBF/pLytpSCciF6t9NqqGZYbBomXJLaG84="
# COVERALLS_REPO_TOKEN
- secure: "OgC0wl8yIwZP1ppx7QgZrLvGbs/p8CutRWuHmutuuyta+InR73VsSL7E5vwGG9W8WJAcTu6nwQlkv2d8tx8l+DQXYXWYALH3m1KtlIV2QpP7ZPjsNYhh6tP/1ZUKh3MumsDU+H2BjfqV5910BSWa0DBcONT8CAAxXfTvvTaAPzIBf0Z7byy1dSV7oHKfVPPQMOxXwMSTAItOiMIhRk+20C0YQRxFqkXQ72h14B7/2eu3GXjiu+8ovdPPFWCajcg0sueIkNkBTUOc+PUeQ3r/uNCURwSUTFNOgvV/1jVOFx0ZfehtNo+U4vAh4KdmmOVGQScBlXplhzlUKfd8FmPfksn9rmZLjZBuHaGMEJJuDRqpUIUh/1ejOsGF26sXxjrT2wW6ovj+IJy1FTTIbIkiouYUlAnJ4n60R1PMcX75O7YSUhXBmyvDUGp5BQfcH7nZ/7kUq6+rdAjnpWqlUtZVTqMraAhcAkBrZaesc18d3eqSSdRDD7kiG9VnnBFlpPDppwaZGSSoVumAUy0ceGcqI8S659kHmf6ZA9msw9zD7bREoi6oif/UzhH1VoXksrNQkFfc78sGxD0VzLygdDJ7RmkZPeBiHfX1yilToi1yrlRzRDLo46LvSEEiawhTa1i9W3UGr3p4LNxOxJr9tR9AjUuIlP21VEooikAhRf35qK0="
# run coverity scan on gcc build to keep from DOSing coverity
- coverity_scan_run_condition='"$CC" = gcc'
- PKG_CONFIG_PATH="$(pwd)/cmocka/lib/pkgconfig:/usr/lib/pkgconfig"
- LD_LIBRARY_PATH="$(pwd)/osslinstall/usr/local/lib:$(pwd)/cmocka/lib:/usr/lib"
- CMOCKA_CFLAGS="-I$(pwd)/cmocka/include -I/usr/include"
- CMOCKA_LIBS="-L$(pwd)/cmocka/lib -lcmocka"
- PATH="$(pwd)/ibmtpm/src:$(pwd)/doxygen/build/bin:${PATH}"
addons:
apt:
packages:
- autoconf-archive
- cmake
- libgcrypt20-dev
- realpath
- lcov
- libssl-dev
- uthash-dev
coverity_scan:
project:
name: "01org/TPM2.0-TSS"
description: Build submitted via Travis-CI
notification_email: philip.b.tricca@intel.com
build_command_prepend: "./bootstrap && ./configure"
build_command: "make --jobs=$(nproc)"
branch_pattern: coverity_scan
install:
# CMocka
- wget https://download.01.org/tpm2/cmocka-1.1.1.tar.xz
- sha256sum cmocka-1.1.1.tar.xz | grep -q f02ef48a7039aa77191d525c5b1aee3f13286b77a13615d11bc1148753fc0389 || travis_terminate 1
- tar -Jxvf cmocka-1.1.1.tar.xz
- mkdir cmocka
- cd cmocka-1.1.1
- mkdir build
- cd build
- cmake ../ -DCMAKE_INSTALL_PREFIX=../../cmocka -DCMAKE_BUILD_TYPE=Release
- make
- make install
- cd ../../
# Autoconf archive
- wget https://download.01.org/tpm2/autoconf-archive-2017.09.28.tar.xz
- sha256sum autoconf-archive-2017.09.28.tar.xz | grep -q 5c9fb5845b38b28982a3ef12836f76b35f46799ef4a2e46b48e2bd3c6182fa01 || travis_terminate 1
- tar xJf autoconf-archive-2017.09.28.tar.xz
- cp autoconf-archive-2017.09.28/m4/ax_code_coverage.m4 m4/
# Coveralls
- pip install --user cpp-coveralls
# IBM-TPM
- wget https://download.01.org/tpm2/ibmtpm974.tar.gz
# OpenSSL 1.0.2
# (Must come after all wgets, since it overrides libcrypto.so for the test-environment)
- mkdir -p osslinstall/usr/local/bin
- git clone --branch $OPENSSL_BRANCH --depth=1 https://github.com/openssl/openssl.git
- pushd openssl
- ./config --prefix=/usr/local --openssldir=/usr/local/openssl shared
- make -j$(nproc)
- |
if [ "$OPENSSL_BRANCH" == "OpenSSL_1_0_2-stable" ]; then
make install INSTALL_PREFIX=${PWD}/../osslinstall
else
make install DESTDIR=${PWD}/../osslinstall
fi
- which openssl
- popd
# IBM-TPM
- sha256sum ibmtpm974.tar.gz | grep -q ^8e45d86129a0adb95fee4cee51f4b1e5b2d81ed3e55af875df53f98f39eb7ad7 || travis_terminate 1
- mkdir ibmtpm
- tar axf ibmtpm974.tar.gz -C ibmtpm
- make -C ibmtpm/src -j$(nproc)
# doxygen
- git clone --depth=1 https://github.com/doxygen/doxygen.git
- pushd doxygen
- mkdir build
- cd build
- cmake ..
- make
- popd
before_script:
- ./bootstrap
script:
# short-circuit normal build if we've already done a coverity scan
- |
if [ "${COVERITY_SCAN_BRANCH}" == 1 ]; then
echo "COVERITY_SCAN_BRANCH set, not running normal build."
exit 0
fi
# build with no tests enabled
- mkdir ./build-no-tests
- pushd ./build-no-tests
- ../configure CFLAGS=-I${PWD}/../osslinstall/usr/local/include LDFLAGS=-L${PWD}/../osslinstall/usr/local/lib
- make -j$(nproc)
- popd
# build with all tests enabled
- mkdir ./build
- pushd ./build
- |
if [ "$CC" == "gcc" ]; then
export CONFIGURE_OPTIONS="--enable-code-coverage";
fi
- |
if [ "$CC" == "clang" ]; then
scan-build ../configure --enable-unit --enable-integration --with-crypto=$WITH_CRYPTO $CONFIGURE_OPTIONS CFLAGS=-I${PWD}/../osslinstall/usr/local/include LDFLAGS=-L${PWD}/../osslinstall/usr/local/lib
else
../configure --enable-unit --enable-integration --with-crypto=$WITH_CRYPTO $CONFIGURE_OPTIONS CFLAGS=-I${PWD}/../osslinstall/usr/local/include LDFLAGS=-L${PWD}/../osslinstall/usr/local/lib
fi
- |
if [ "$CC" == "clang" ]; then
scan-build --status-bugs make -j$(nproc) check
else
make -j$(nproc) check
fi
- |
- popd
# make distcheck
- mkdir ./distcheck_build
- pushd ./distcheck_build
- ../configure --disable-doxygen-doc --enable-unit --enable-integration CFLAGS=-I${PWD}/../osslinstall/usr/local/include LDFLAGS=-L${PWD}/../osslinstall/usr/local/lib
- make -j$(nproc) distcheck
- popd
- |
if [ "$CC" == "gcc" -a -n "$COVERALLS_REPO_TOKEN" ]; then
coveralls --build-root=build --exclude=cmocka --exclude=cmocka-1.1.1 \
--exclude=ibmtpm --exclude=include --exclude=test \
--gcov-options '\-lp'
fi
|