forked from linuxwacom/libwacom
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
144 lines (136 loc) · 5.53 KB
/
.travis.yml
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
sudo: required
dist: bionic
language: c
os:
- linux
- freebsd
compiler:
- gcc
- clang
stages:
- test
- name: coverity
if: type = cron
env:
global:
- CFLAGS="-Werror -Wall -Wextra -Wno-error=sign-compare -Wno-error=unused-parameter -Wno-error=missing-field-initializers"
before_install:
- |
if [ "$TRAVIS_OS_NAME" == linux ]; then
sudo apt-get install -yq --no-install-suggests --no-install-recommends \
libgudev-1.0-dev libxml++2.6-dev
fi
- |
if [ "$TRAVIS_OS_NAME" == freebsd ]; then
sudo pkg install -y evdev-proto libgudev libxml++
sudo ln -sf $(which gmake) $(which make)
fi
script:
- mkdir _build
- pushd _build > /dev/null
- ../autogen.sh --disable-silent-rules
- make
- make check || (cat **/test-suite.log && false)
- make distcheck
- popd > /dev/null
jobs:
include:
# only test build using meson on freebsd, the rest is covered by linux
- stage: test
os: freebsd
compiler: clang
install:
- sudo pkg install -y meson
script:
- meson builddir || (cat builddir/meson-logs/meson-log.txt && false)
- ninja -C builddir test || (cat builddir/meson-logs/testlog.txt && false)
- ninja -C builddir dist
- stage: test
install:
- sudo apt-get install -y python3-pip python3-setuptools valgrind
- sudo pip3 install meson ninja
script:
- meson builddir || (cat builddir/meson-logs/meson-log.txt && false)
- ninja -C builddir test || (cat builddir/meson-logs/testlog.txt && false)
- ninja -C builddir dist
- meson configure builddir -Db_sanitize=address,undefined
- ninja -C builddir test || (cat builddir/meson-logs/testlog.txt && false)
- meson configure builddir -Db_sanitize=none
- pushd builddir > /dev/null
- meson test --setup=valgrind --suite=valgrind || (cat meson-logs/testlog-valgrind.txt && false)
- popd > /dev/null
# build from a tarball with meson
- stage: test
install:
- sudo apt-get install -y python3-pip python3-setuptools valgrind tree
- sudo pip3 install meson ninja
script:
- export INSTALLDIR="$PWD/_inst"
- mkdir -p "$INSTALLDIR"
- mkdir _build
- pushd _build > /dev/null
- ../autogen.sh --disable-silent-rules
- make && make dist
- popd > /dev/null
- mkdir -p _tarball_dir
- tar xf _build/libwacom-*.tar.bz2 -C _tarball_dir
- pushd _tarball_dir/libwacom-*/ > /dev/null
- meson builddir --prefix="$INSTALLDIR" && ninja -C builddir test && ninja -C builddir install
- popd > /dev/null
- tree "$INSTALLDIR"
# build from a tarball with autotools
- stage: test
install:
- sudo apt-get install -y tree
script:
- export INSTALLDIR="$PWD/_inst"
- mkdir -p "$INSTALLDIR"
- mkdir _build
- pushd _build > /dev/null
- ../autogen.sh --disable-silent-rules
- make && make dist
- popd > /dev/null
- mkdir -p _tarball_dir
- tar xf _build/libwacom-*.tar.bz2 -C _tarball_dir
- pushd _tarball_dir/libwacom-*/ > /dev/null
- ./autogen.sh --disable-silent-rules --prefix="$INSTALLDIR"
- make && make install
- popd > /dev/null
- tree "$INSTALLDIR"
# build from a tarball with configure only
- stage: test
install:
- sudo apt-get install -y tree
script:
- export INSTALLDIR="$PWD/_inst"
- mkdir -p "$INSTALLDIR"
- mkdir _build
- pushd _build > /dev/null
- ../autogen.sh --disable-silent-rules
- make && make dist
- popd > /dev/null
- mkdir -p _tarball_dir
- tar xf _build/libwacom-*.tar.bz2 -C _tarball_dir
- pushd _tarball_dir/libwacom-*/ > /dev/null
- ./configure --prefix="$INSTALLDIR"
- make && make install
- popd > /dev/null
- tree "$INSTALLDIR"
- stage: coverity
compiler: 'gcc'
env:
- BUILDTYPE="coverity"
- COVERITY_SCAN_PROJECT_NAME="linuxwacom/libwacom"
- COVERITY_SCAN_NOTIFICATION_EMAIL="killertofu@gmail.com"
- COVERITY_SCAN_BUILD_COMMAND_PREPEND=""
- COVERITY_SCAN_BUILD_COMMAND="make"
- COVERITY_SCAN_BRANCH_PATTERN=".*"
- COVERITY_URL="https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh"
- secure: 'd0i9vJa6/lNDlCYMbKjNI77j1xnhw0ktBDAz0C10QbzIx17EsaYXOuAgO2ffWdIdGU7cP7yCH3gZGTRLnaPZfj7z1n7W81A8Hlosfc7AGcSW+EAo8T+CSxdFw1BfEPPWctsBP2y02INrOCno9k00pnW1shHlT7QzPxnHIsuPmHv21AbyUGbGk3nmvnfGg60dIYOLPdkZFNCGTNf6XtE0KVB0TLwS03/K8R1GnMtm5Qs0FXIDYMfASn1kKTPQOERYUIDABMCeYBfgHtiRvAzZkcxRnjVdoZvByDCfTeOtA3gS0bQ+nMt2UEHz2zzUS2egRGfAOafEqhvMrxEAdU9+HXNZIoPJfkLZWkUoe+3U/+Zj3NoIK/mpmtRFtHLyISp7kL/kQ9g8+cJPL5EI2RvIRM5cdf5Z47kI0Y0tQjceONz/7cHHCozZsrCLTjB4rlgWOxhbu+UL9C8vKYO1AX6rl1R/4J/WKc/ODztmNQem3u/GQEfHXyKVO+zrehAjtKb08wjQEGyMJYB7hxS3tDCb9/cCHkdi81Sx2WtF8mXp4TjCJafx7vyBo4VVlDuExvjodrZh/50KrzzZ+wGDE0tN42tJsuMGvJVTteNNk1pQ7r6XSlTOjbGsAQE+ri6Q8XBx63ES5Y1oN0bkA38KqhCfOrZIKXtx7QMLpPv2QKCaccg='
before_script:
- echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-
- curl -fs "$COVERITY_URL" > coverity.sh && sed -i 's/"$status_code" != "201"/"$status_code" -lt 200 -o "$status_code" -ge 300/' coverity.sh && chmod +x coverity.sh
script:
- ./autogen.sh --disable-silent-rules
- bash ./coverity.sh
# vim: set expandtab tabstop=8 shiftwidth=2: