]> git.proxmox.com Git - swtpm.git/blob - .travis.yml
packaging: track dbgsym package for swtpm-libs and swtpm-tools
[swtpm.git] / .travis.yml
1 env:
2 global:
3 - secure: mcAXlw5k/1yOP2RMKWEtvU2SnsuHo5Idoi5zZ+hLj2CzdvT77Wh8HWQ7NRsiamL+3dMPxzzy60IYNZQ8F29y3rvN7gASVsYn31G5UkmfvpPLiucuPADM1rNm8FYNlia0GFW4keP+LwMrBo6KDK9k0T8w4lquXBwMmNzhvCYVwkBIM5YwhXW5nk1dOJtf6zAb6gDH/VNEYTXXRKjA5Jvln7+EVHY61pEx6rJGa2GU0A49ms5UMJVzv85FraiHwlCPnNhQWGJ6sStqxsd5i6VBTCrkwMqnnA+ZBosqIJkBXp4OkudfPWE9vsn7TtuYdbheOkUIv6GRPFJNG3Vm3Wh/IwvSOILS5xAmsB3MxyK3BlILOYcsywiSzV5J4+s5Vnih4FaRQ3xx46Fq2ldatuk7npIxfdd3Co5V1KZh1pq3ckAdKlY2PEsQc0Kh72Lxf2N0XVw4s0H7gzrFk4/ghIvoCmAWBRSrN+R7wleEcmxDRgUZHP6Qc2ZNP+kljhBLqzinW2jyxPAqQS17g5Tb01+WfqkG/T5jboyIIe/OEQ5XbQp3/d8rUA8STpJxD25lwKKqlIqU3ZFWYfRT+pA0x83AdiTm53CJSQqFyCLtZCqK0XSZbLfmFzjZJ7I8FQxZoF2o03DDkL1Xs0z0sj87i3UnsYzxGdSrcU2JDK7qRIn39sM=
4 sudo: required
5 language: c
6 dist: xenial
7 addons:
8 apt:
9 packages:
10 - automake
11 - autoconf
12 - libtool
13 - libssl-dev
14 - sed
15 - make
16 - gawk
17 - sed
18 - bash
19 - dh-exec
20 - python3-pip
21 - libfuse-dev
22 - libglib2.0-dev
23 - libjson-glib-dev
24 - libgmp-dev
25 - expect
26 - libtasn1-dev
27 - socat
28 - findutils
29 - gnutls-dev
30 - gnutls-bin
31 - libasan2
32 - softhsm2
33 - libseccomp-dev
34 coverity_scan:
35 project:
36 name: swtpm
37 description: Build submitted via Travis CI
38 notification_email: stefanb@linux.vnet.ibm.com
39 build_command_prepend: "git clone https://github.com/stefanberger/libtpms && cd libtpms && ./autogen.sh --with-openssl --prefix=/usr --with-tpm2 && make -j$(${NPROC:-nproc}) && sudo make install && cd .. && ./autogen.sh --with-openssl"
40 build_command: make -j$(${NPROC:-nproc})
41 branch_pattern: coverity_scan
42 before_install:
43 - test $TRAVIS_BRANCH != coverity_scan -o ${TRAVIS_JOB_NUMBER##*.} = 1 || exit 0
44 - | # We need trousers only for the tss user
45 if [ "$(uname -s)" = "Linux" ]; then
46 sudo rm -rf /dev/tpm* # This is a work-around for Bionic where trousers otherwise fails to install
47 sudo apt-get -y install trousers
48 fi
49 script:
50 - sudo pip3 install --upgrade pip==20.3.3
51 - if [ ! -d libtpms ]; then git clone https://github.com/stefanberger/libtpms; fi
52 - cd libtpms
53 - if [ -n "${LIBTPMS_GIT_CHECKOUT}" ]; then
54 git checkout "${LIBTPMS_GIT_CHECKOUT}" -b testing;
55 fi
56 - CFLAGS="${LIBTPMS_CFLAGS:--g -O2}" LDFLAGS="${LIBTPMS_LDFLAGS}"
57 ./autogen.sh --with-openssl --prefix=${LIBTPMS_PREFIX:-/usr} --with-tpm2 ${LIBTPMS_CONFIG}
58 && make -j$(${NPROC:-nproc})
59 && sudo make install
60 - cd ..
61 - ./autogen.sh ${CONFIG}
62 && ${SUDO} make clean
63 && export SWTPM_TEST_EXPENSIVE=${SWTPM_TEST_EXPENSIVE:-1}
64 && export SWTPM_TEST_IBMTSS2=${SWTPM_TEST_IBMTSS2:-0}
65 && export SWTPM_TEST_STORE_VOLATILE=${SWTPM_TEST_STORE_VOLATILE:-0}
66 && ${SUDO} make -j$(${NPROC:-nproc}) ${CHECK} VERBOSE=1
67 - if [ -n "${RUN_TEST}" ]; then
68 sudo make install
69 && sudo ${PREFIX}/bin/swtpm_setup
70 --tpmstate /tmp --create-ek-cert --create-platform-cert --tpm2
71 || { exit 1; };
72 fi
73 after_failure:
74 - for f in tests/*.log; do echo ">>>>>>> $f <<<<<<<"; cat $f; done
75 matrix:
76 include:
77 - env: PREFIX="/usr"
78 CONFIG="--with-openssl --prefix=${PREFIX}"
79 CHECK="distcheck"
80 RUN_TEST="1"
81 - dist: bionic
82 env: PREFIX="/usr"
83 CONFIG="--with-openssl --prefix=/usr --enable-test-coverage"
84 SUDO="sudo"
85 CHECK="check"
86 SWTPM_TEST_IBMTSS2="1"
87 SWTPM_TEST_STORE_VOLATILE="1"
88 before_script:
89 - sudo apt-get -y install tss2
90 - sudo pip install cpp-coveralls
91 - p=$PWD; while [ "$PWD" != "/" ]; do chmod o+x . &>/dev/null ; cd .. ; done; cd $p
92 && sudo mkdir src/swtpm/.libs
93 && sudo chown nobody src/swtpm src/swtpm/.libs
94 after_success:
95 - uidgid="$(id -nu):$(id -ng)" &&
96 sudo chown -R ${uidgid} ./ &&
97 cpp-coveralls --gcov-options '\-lp' -e libtpms
98 - env: CFLAGS="-fsanitize=address -g -fno-omit-frame-pointer -fno-sanitize-recover"
99 LIBTPMS_CFLAGS="-fsanitize=address -g -fno-omit-frame-pointer -fno-sanitize-recover"
100 LIBS="-lasan"
101 ASAN_OPTIONS="halt_on_error=1"
102 PREFIX="/usr"
103 CONFIG="--with-openssl --prefix=${PREFIX} --without-seccomp"
104 SUDO="sudo"
105 CHECK="check"
106 - env: CFLAGS="-fsanitize=address -g -fno-omit-frame-pointer -fno-sanitize-recover"
107 LIBTPMS_CFLAGS="-fsanitize=address -g -fno-omit-frame-pointer -fno-sanitize-recover"
108 LIBTPMS_CONFIG="--disable-use-openssl-functions"
109 LIBS="-lasan"
110 ASAN_OPTIONS="halt_on_error=1"
111 PREFIX="/usr"
112 CONFIG="--with-openssl --prefix=${PREFIX} --without-seccomp"
113 SUDO="sudo"
114 CHECK="check"
115 - env: CFLAGS="-fsanitize=undefined -g -fno-omit-frame-pointer -fno-sanitize-recover"
116 LIBTPMS_CFLAGS="-fsanitize=undefined -g -fno-omit-frame-pointer -fno-sanitize-recover"
117 LIBS="-lubsan"
118 UBSAN_OPTIONS="halt_on_error=1"
119 PREFIX="/usr"
120 CONFIG="--with-openssl --prefix=${PREFIX}"
121 SUDO="sudo"
122 CHECK="check"