]> git.proxmox.com Git - swtpm.git/blob - .travis.yml
Travis: Run pylint on new swtpm-localca, remove flock on OS X
[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 - pylint3
21 - python3-cryptography
22 - python3-pip
23 - python3-setuptools
24 - python3-twisted
25 - libfuse-dev
26 - libglib2.0-dev
27 - libgmp-dev
28 - expect
29 - libtasn1-dev
30 - socat
31 - findutils
32 - gnutls-dev
33 - gnutls-bin
34 - libasan2
35 - softhsm2
36 - libseccomp-dev
37 coverity_scan:
38 project:
39 name: swtpm
40 description: Build submitted via Travis CI
41 notification_email: stefanb@linux.vnet.ibm.com
42 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"
43 build_command: make -j$(${NPROC:-nproc})
44 branch_pattern: coverity_scan
45 before_install:
46 - test $TRAVIS_BRANCH != coverity_scan -o ${TRAVIS_JOB_NUMBER##*.} = 1 || exit 0
47 - | # We need trousers only for the tss user
48 if [ "$(uname -s)" = "Linux" ]; then
49 sudo rm -rf /dev/tpm* # This is a work-around for Bionic where trousers otherwise fails to install
50 sudo apt-get -y install trousers
51 fi
52 script:
53 - sudo pip3 install --upgrade pip
54 - sudo pip3 install --upgrade wheel
55 - sudo pip3 install --upgrade cryptography
56 - if [ ! -d libtpms ]; then git clone https://github.com/stefanberger/libtpms; fi
57 - cd libtpms
58 - if [ -n "${LIBTPMS_GIT_CHECKOUT}" ]; then
59 git checkout "${LIBTPMS_GIT_CHECKOUT}" -b testing;
60 fi
61 - CFLAGS="${LIBTPMS_CFLAGS:--g -O2}" LDFLAGS="${LIBTPMS_LDFLAGS}"
62 ./autogen.sh --with-openssl --prefix=${LIBTPMS_PREFIX:-/usr} --with-tpm2 ${LIBTPMS_CONFIG}
63 && make -j$(${NPROC:-nproc})
64 && sudo make install
65 - cd ..
66 - ./autogen.sh ${CONFIG}
67 && ${SUDO} make clean
68 && export SWTPM_TEST_EXPENSIVE=${SWTPM_TEST_EXPENSIVE:-1}
69 && export SWTPM_TEST_IBMTSS2=${SWTPM_TEST_IBMTSS2:-0}
70 && ${SUDO} make -j$(${NPROC:-nproc}) ${CHECK} VERBOSE=1
71 - if [ -n "${RUN_TEST}" ]; then
72 sudo make install
73 && sudo ${PREFIX}/bin/swtpm_setup
74 --tpmstate /tmp --create-ek-cert --create-platform-cert --tpm2
75 || { exit 1; };
76 fi
77 after_failure:
78 - for f in tests/*.log; do echo ">>>>>>> $f <<<<<<<"; cat $f; done
79 matrix:
80 include:
81 - env: PREFIX="/usr"
82 CONFIG="--with-openssl --prefix=${PREFIX}"
83 CHECK="distcheck"
84 RUN_TEST="1"
85 - dist: bionic
86 env: PREFIX="/usr"
87 CONFIG="--with-openssl --prefix=/usr --enable-test-coverage"
88 SUDO="sudo"
89 CHECK="check"
90 SWTPM_TEST_IBMTSS2="1"
91 after_success:
92 - pylint3 --max-line-length=100 src/swtpm_setup/py_swtpm_setup/*.py || exit 1;
93 - pylint3 --max-line-length=100 samples/py_swtpm_localca/*.py || exit 1;
94 before_script:
95 - sudo apt-get -y install tss2
96 - sudo pip install cpp-coveralls
97 - p=$PWD; while [ "$PWD" != "/" ]; do chmod o+x . &>/dev/null ; cd .. ; done; cd $p
98 && sudo mkdir src/swtpm/.libs
99 && sudo chown nobody src/swtpm src/swtpm/.libs
100 after_success:
101 - uidgid="$(id -nu):$(id -ng)" &&
102 sudo chown -R ${uidgid} ./ &&
103 cpp-coveralls --gcov-options '\-lp' -e libtpms
104 - env: CFLAGS="-fsanitize=address -g -fno-omit-frame-pointer -fno-sanitize-recover"
105 LIBTPMS_CFLAGS="-fsanitize=address -g -fno-omit-frame-pointer -fno-sanitize-recover"
106 LIBS="-lasan"
107 ASAN_OPTIONS="halt_on_error=1"
108 PREFIX="/usr"
109 CONFIG="--with-openssl --prefix=${PREFIX} --without-seccomp"
110 SUDO="sudo"
111 CHECK="check"
112 - env: CFLAGS="-fsanitize=address -g -fno-omit-frame-pointer -fno-sanitize-recover"
113 LIBTPMS_CFLAGS="-fsanitize=address -g -fno-omit-frame-pointer -fno-sanitize-recover"
114 LIBTPMS_CONFIG="--disable-use-openssl-functions"
115 LIBS="-lasan"
116 ASAN_OPTIONS="halt_on_error=1"
117 PREFIX="/usr"
118 CONFIG="--with-openssl --prefix=${PREFIX} --without-seccomp"
119 SUDO="sudo"
120 CHECK="check"
121 - env: CFLAGS="-fsanitize=undefined -g -fno-omit-frame-pointer -fno-sanitize-recover"
122 LIBTPMS_CFLAGS="-fsanitize=undefined -g -fno-omit-frame-pointer -fno-sanitize-recover"
123 LIBS="-lubsan"
124 UBSAN_OPTIONS="halt_on_error=1"
125 PREFIX="/usr"
126 CONFIG="--with-openssl --prefix=${PREFIX}"
127 SUDO="sudo"
128 CHECK="check"
129 - env: NPROC="sysctl -n hw.ncpu"
130 LIBTPMS_CFLAGS="-I/usr/local/opt/openssl/include"
131 LIBTPMS_LDFLAGS="-L/usr/local/opt/openssl/lib"
132 LIBTPMS_PREFIX="${HOME}"
133 LIBTPMS_GIT_CHECKOUT="origin/stable-0.6.0"
134 CFLAGS="-I/usr/local/opt/openssl/include -I${HOME}/include"
135 LDFLAGS="-L/usr/local/opt/openssl/lib -L${HOME}/lib"
136 PKG_CONFIG_PATH="${HOME}/lib/pkgconfig"
137 PREFIX="${HOME}"
138 TSS_USER=$(id -u -n)
139 CONFIG="--with-openssl --prefix=${PREFIX} --with-tss-user=${TSS_USER} --with-tss-group=$(id -g -n)"
140 SWTPM_TEST_EXPENSIVE=0
141 CHECK="check"
142 LD_LIBRARY_PATH=${PREFIX}/lib:${PREFIX}/lib/swtpm
143 SUDO="sudo"
144 os: osx
145 compiler: clang
146 before_script:
147 - HOMEBREW_NO_AUTO_UPDATE=1 brew upgrade gnutls || true
148 - HOMEBREW_NO_AUTO_UPDATE=1 brew install expect
149 - HOMEBREW_NO_AUTO_UPDATE=1 brew install libtasn
150 - HOMEBREW_NO_AUTO_UPDATE=1 brew install glib
151 - HOMEBREW_NO_AUTO_UPDATE=1 brew install gawk
152 - HOMEBREW_NO_AUTO_UPDATE=1 brew install gmp
153 - HOMEBREW_NO_AUTO_UPDATE=1 brew install socat
154 # To run the pkcs11 test with softhsm we need SUDO (above)
155 - HOMEBREW_NO_AUTO_UPDATE=1 brew install softhsm
156 - pip3 install setuptools