blob: f4a32309ae8461c00373840abbd6541faa822a65 [file] [log] [blame]
Philip Tricca94bfd822017-08-14 22:11:24 -07001language: c
Teddy Reedc4335c72016-01-13 17:53:59 -08002compiler:
3 - gcc
Peter Hueweb921de02017-05-19 17:28:33 +02004 - clang
Teddy Reedc4335c72016-01-13 17:53:59 -08005
Philip Tricca94bfd822017-08-14 22:11:24 -07006sudo: false
Teddy Reedc4335c72016-01-13 17:53:59 -08007dist: trusty
8
Philip Tricca98cb9042017-07-25 09:02:52 -07009env:
10 global:
Philip Tricca5aa525a2018-03-26 21:31:07 -070011 # COVERITY_SCAN_TOKEN
12 - 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="
William Roberts14d344f2017-12-04 16:10:28 -080013 # COVERALLS_REPO_TOKEN
14 - secure: "BJUO7GJjP+WgMgSwTTteuc2KKum7Na++92pCLDa3hAzwZZ2OA+MbR9Zd25Yp0kT1K7bIPGDVdg0RksMI9P+Lbun3pajqLWfJpXrAF5IywllQx7bT4x1KeJridJeDnHZVSobTn4oAaGl5JrtpGgXAOjzpgLl1ljP0STyZUF+kC4RSK4Wt2DdT2acj5B8PT6cqR3btfStWgWKlm8t2nOFDGxTCbI4YIwcfgFhOG/ATx7Uc/z08MBI3z7lezy0nBt1/o2gDPZVb4Pa5A390P6Gv0g6mFu1te+P2IFmrWR6mF2Jh5GiJFWR7935rX5d2HxCkCNO7uEmncM4WeDk5PE9+TIcg7T2d9G1JR762aLMvNtUcmlfa6JX/EvveZK47ThwAictwvlD3tgfDy1E7Wdb1O6PtLsUIXRx50UocqBMeSQvOfR1330FuF/td9VGNFqxKW0wDWVIyl8QMK+p7t0aE+2py2Hb3IYVQEk98aWnffvEFeYfNPBywOiVD7trsTFEXKusVypAWDF3kvOmNuetL6ADfPnIfzvPw6DxQzwsxPUo0ahM2C2pzY/MavSlDM8+Q/EZiLkw9g39IgxjDsExD2EEu8U9jyz8iSmbKsrK6Z4L3BWO6a0gFakBAfWR1Rsb15UfVPYlJgPwtAdbgQ65ElgVeyTdkDCuE64iby2nZeP4="
Philip Tricca98cb9042017-07-25 09:02:52 -070015 # run coverity scan on gcc build to keep from DOSing coverity
16 - coverity_scan_run_condition='"$CC" = gcc'
Tadeusz Struk2147c492017-08-09 13:40:31 -070017 - PKG_CONFIG_PATH="$(pwd)/cmocka/lib/pkgconfig:/usr/lib/pkgconfig"
18 - LD_LIBRARY_PATH="$(pwd)/cmocka/lib:/usr/lib"
19 - CMOCKA_CFLAGS="-I$(pwd)/cmocka/include -I/usr/include"
20 - CMOCKA_LIBS="-L$(pwd)/cmocka/lib -lcmocka"
Philip Tricca99075432018-04-25 19:02:05 -070021 - PATH="$(pwd)/ibmtpm/src:${PATH}"
Philip Tricca98cb9042017-07-25 09:02:52 -070022
Teddy Reedc4335c72016-01-13 17:53:59 -080023addons:
24 apt:
25 packages:
26 - autoconf-archive
Tadeusz Struk2147c492017-08-09 13:40:31 -070027 - cmake
Philip Triccae829b742018-01-31 08:38:35 -080028 - libgcrypt20-dev
Philip Triccaa01d6f32017-09-04 14:32:30 -070029 - realpath
William Roberts14d344f2017-12-04 16:10:28 -080030 - lcov
Tadeusz Struk57d372e2018-01-24 09:51:53 -080031 - libssl-dev
Tadeusz Struk1b583d12018-04-17 11:28:52 -070032 - uthash-dev
Philip Tricca98cb9042017-07-25 09:02:52 -070033 coverity_scan:
34 project:
Philip Tricca5aa525a2018-03-26 21:31:07 -070035 name: "01org/TPM2.0-TSS"
Philip Tricca98cb9042017-07-25 09:02:52 -070036 description: Build submitted via Travis-CI
37 notification_email: philip.b.tricca@intel.com
Philip Tricca5aa525a2018-03-26 21:31:07 -070038 build_command_prepend: "./bootstrap && ./configure"
39 build_command: "make --jobs=$(nproc)"
Philip Tricca98cb9042017-07-25 09:02:52 -070040 branch_pattern: coverity_scan
Teddy Reedc4335c72016-01-13 17:53:59 -080041
Philip Triccac924ed62017-06-18 16:05:32 -070042install:
Philip Tricca14bab422018-04-30 15:57:14 -070043 - wget https://download.01.org/tpm2/ibmtpm974.tar.gz
Philip Triccadd69c7e2018-04-30 16:34:54 -070044 - sha256sum ibmtpm974.tar.gz | grep -q ^8e45d86129a0adb95fee4cee51f4b1e5b2d81ed3e55af875df53f98f39eb7ad7 || travis_terminate 1
Philip Triccaeaa49852017-09-04 14:00:18 -070045 - mkdir ibmtpm
46 - tar axf ibmtpm974.tar.gz -C ibmtpm
47 - make -C ibmtpm/src -j$(nproc)
Philip Tricca14bab422018-04-30 15:57:14 -070048 - wget https://download.01.org/tpm2/cmocka-1.1.1.tar.xz
Philip Triccadd69c7e2018-04-30 16:34:54 -070049 - sha256sum cmocka-1.1.1.tar.xz | grep -q f02ef48a7039aa77191d525c5b1aee3f13286b77a13615d11bc1148753fc0389 || travis_terminate 1
Tadeusz Struk77dc88c2017-09-13 09:24:14 -070050 - tar -Jxvf cmocka-1.1.1.tar.xz
Tadeusz Struk2147c492017-08-09 13:40:31 -070051 - mkdir cmocka
Tadeusz Struk77dc88c2017-09-13 09:24:14 -070052 - cd cmocka-1.1.1
Tadeusz Struk2147c492017-08-09 13:40:31 -070053 - mkdir build
54 - cd build
55 - cmake ../ -DCMAKE_INSTALL_PREFIX=../../cmocka -DCMAKE_BUILD_TYPE=Release
56 - make
57 - make install
58 - cd ../../
Philip Tricca14bab422018-04-30 15:57:14 -070059 - wget https://download.01.org/tpm2/autoconf-archive-2017.09.28.tar.xz
Philip Triccadd69c7e2018-04-30 16:34:54 -070060 - sha256sum autoconf-archive-2017.09.28.tar.xz | grep -q 5c9fb5845b38b28982a3ef12836f76b35f46799ef4a2e46b48e2bd3c6182fa01 || travis_terminate 1
Andreas Fuchs61cb7fb2017-11-22 10:23:01 +010061 - tar xJf autoconf-archive-2017.09.28.tar.xz
62 - cp autoconf-archive-2017.09.28/m4/ax_code_coverage.m4 m4/
William Roberts14d344f2017-12-04 16:10:28 -080063 - pip install --user cpp-coveralls
Teddy Reedc4335c72016-01-13 17:53:59 -080064
65before_script:
66 - ./bootstrap
67
68script:
Philip Tricca5aa525a2018-03-26 21:31:07 -070069# short-circuit normal build if we've already done a coverity scan
70 - |
71 if [ "${COVERITY_SCAN_BRANCH}" == 1 ]; then
72 echo "COVERITY_SCAN_BRANCH set, not running normal build."
73 exit 0
74 fi
Philip Tricca38231392018-03-30 09:28:42 -070075# build with no tests enabled
76 - mkdir ./build-no-tests
77 - pushd ./build-no-tests
78 - ../configure
79 - make -j$(nproc)
80 - popd
81# build with all tests enabled
Teddy Reedc4335c72016-01-13 17:53:59 -080082 - mkdir ./build
83 - pushd ./build
William Roberts14d344f2017-12-04 16:10:28 -080084 - |
85 if [ "$CC" == "gcc" ]; then
86 export CONFIGURE_OPTIONS="--enable-code-coverage";
87 fi
danintel7fdd7c92018-05-01 10:20:55 -070088 - |
89 if [ "$CC" == "clang" ]; then
90 scan-build ../configure --enable-unit --enable-integration $CONFIGURE_OPTIONS
91 else
92 ../configure --enable-unit --enable-integration $CONFIGURE_OPTIONS
93 fi
Philip Tricca1a94dd82017-08-16 14:32:55 -070094 - make -j$(nproc) distcheck
danintel7fdd7c92018-05-01 10:20:55 -070095 - |
96 if [ "$CC" == "clang" ]; then
97 scan-build --status-bugs make -j$(nproc) check
98 else
99 make -j$(nproc) check
100 fi
Philip Triccaa01d6f32017-09-04 14:32:30 -0700101 - cat test-suite.log
Philip Triccaf52391c2017-02-15 19:03:18 -0800102 - |
103 for LOG in $(ls -1 test/unit/*.log); do
104 echo "${LOG}"
105 cat ${LOG}
106 done
107 - |
108 for LOG in $(ls -1 test/integration/*.log); do
109 echo "${LOG}"
110 cat ${LOG}
111 done
Philip Tricca93cea252017-07-13 14:28:08 -0700112 - cat test/tpmclient/tpmclient.log
William Roberts14d344f2017-12-04 16:10:28 -0800113 - popd
114 - |
William Roberts7fb53ef2017-12-12 10:35:04 -0800115 if [ "$CC" == "gcc" -a -n "$COVERALLS_REPO_TOKEN" ]; then
William Roberts14d344f2017-12-04 16:10:28 -0800116 coveralls --build-root=build --gcov-options '\-lp'
117 fi