]> git.proxmox.com Git - swtpm.git/blob - .travis.yml
travis: Run tests on OSX, install, and run quick test
[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 - pep8
11 - automake
12 - autoconf
13 - libtool
14 - libssl-dev
15 - sed
16 - make
17 - gawk
18 - sed
19 - bash
20 - dh-exec
21 - python-twisted
22 - libfuse-dev
23 - libglib2.0-dev
24 - libgmp-dev
25 - expect
26 - libtasn1-dev
27 - socat
28 - findutils
29 - tpm-tools
30 - gnutls-dev
31 - gnutls-bin
32 - libasan2
33 coverity_scan:
34 project:
35 name: swtpm
36 description: Build submitted via Travis CI
37 notification_email: stefanb@linux.vnet.ibm.com
38 build_command_prepend: "./autogen.sh --with-openssl; make clean"
39 build_command: make -j4
40 branch_pattern: coverity_scan
41 script:
42 - git clone https://github.com/stefanberger/libtpms
43 - cd libtpms
44 - CFLAGS="${LIBTPMS_CFLAGS:--g -O2}" LDFLAGS="${LIBTPMS_LDFLAGS}"
45 ./autogen.sh --with-openssl --prefix=${LIBTPMS_PREFIX:-/usr} --with-tpm2
46 && make -j$(${NPROC:-nproc})
47 && sudo make install
48 - cd ..
49 - ./autogen.sh ${CONFIG}
50 && ${SUDO} make clean
51 && export SWTPM_TEST_EXPENSIVE=${SWTPM_TEST_EXPENSIVE:-1}
52 && ${SUDO} make -j$(${NPROC:-nproc}) ${CHECK}
53 - if [ -n "${RUN_TEST}" ]; then
54 sudo make install
55 && sudo ${PREFIX}/bin/swtpm_setup
56 --tpmstate /tmp --create-ek-cert --create-platform-cert
57 --runas ${TSS_USER:-tss} --tpm2
58 || { exit 1; };
59 fi
60 after_failure:
61 - for f in tests/*.log; do echo ">>>>>>> $f <<<<<<<"; cat $f; done
62 matrix:
63 include:
64 - env: PREFIX="/usr"
65 CONFIG="--with-openssl --prefix=${PREFIX}"
66 CHECK="distcheck"
67 RUN_TEST="1"
68 before_script:
69 - pep8 $(find . -type f | grep -E "\.py$")
70 - env: PREFIX="/usr"
71 CONFIG="--with-openssl --prefix=/usr --enable-test-coverage"
72 SUDO="sudo"
73 CHECK="check"
74 before_script:
75 - sudo pip install cpp-coveralls
76 after_success:
77 - sudo coveralls --gcov-options '\-lp'
78 - env: CFLAGS="-fsanitize=address -g -fno-omit-frame-pointer"
79 LIBS="-lasan"
80 PREFIX="/usr"
81 CONFIG="--with-openssl --prefix=${PREFIX}"
82 SUDO="sudo"
83 CHECK="check"
84 before_script:
85 # Tspi_NV_WriteValue has an I/O error when using asan
86 - echo -e '#!/usr/bin/env bash\nexit 0' > tests/test_parameters
87 - env: CFLAGS="-fsanitize=undefined -g -fno-omit-frame-pointer -fno-sanitize-recover"
88 LIBS="-lubsan"
89 PREFIX="/usr"
90 CONFIG="--with-openssl --prefix=${PREFIX}"
91 SUDO="sudo"
92 CHECK="check"
93 - env: NPROC="sysctl -n hw.ncpu"
94 LIBTPMS_CFLAGS="-I/usr/local/opt/openssl/include"
95 LIBTPMS_LDFLAGS="-L/usr/local/opt/openssl/lib"
96 LIBTPMS_PREFIX="${HOME}"
97 CFLAGS="-I/usr/local/opt/openssl/include -I${HOME}/include"
98 LDFLAGS="-L/usr/local/opt/openssl/lib -L${HOME}/lib"
99 PKG_CONFIG_PATH="${HOME}/lib/pkgconfig"
100 PREFIX="${HOME}"
101 TSS_USER=$(id -u -n)
102 CONFIG="--with-openssl --prefix=${PREFIX} --with-tss-user=${TSS_USER} --with-tss-group=$(id -g -n)"
103 SWTPM_TEST_EXPENSIVE=0
104 CHECK="check"
105 LD_LIBRARY_PATH=${PREFIX}/lib:${PREFIX}/lib/swtpm
106 RUN_TEST="1"
107 os: osx
108 compiler: clang
109 before_script:
110 - brew upgrade gnutls
111 - brew install expect
112 - brew install libtasn
113 - brew install glib
114 - brew install gawk
115 - brew install gmp
116 - brew tap discoteq/discoteq
117 - brew install flock
118 - brew install socat