3 DEFAULT_CONFIG_OPTS: --enable-debug --without-libstatgrab --disable-dependency-tracking
7 # make distcheck and other sanity checks
11 image: collectd/ci:stretch_amd64
13 - /checks/check-bashisms.sh
14 - /checks/check-pod.sh
17 - ./configure $DEFAULT_CONFIG_OPTS
19 - make -s distcheck DISTCHECK_CONFIGURE_FLAGS="${DEFAULT_CONFIG_OPTS}"
22 # Default toolchain and build flags used in deb packages, on a range of Debian
23 # and Ubuntu releases (+ Debian/unstable)
24 # Most should succeed, and PRs shouldn't break them.
26 debian_default_toolchain_task:
28 - allow_failures: true
29 skip_notifications: true
31 image: collectd/ci:wheezy_amd64 # TODO: fix this platform
32 - allow_failures: false
34 image: collectd/ci:jessie_amd64
35 - allow_failures: false
37 image: collectd/ci:stretch_amd64
38 - allow_failures: false
40 image: collectd/ci:stretch_i386
41 - allow_failures: false
43 image: collectd/ci:trusty_amd64
44 - allow_failures: false
46 image: collectd/ci:xenial_amd64
47 # debian/unstable is expected to fail
48 - allow_failures: true
49 skip_notifications: true
50 only_if: $CIRRUS_BRANCH == 'master'
52 image: collectd/ci:sid_amd64
57 ./configure CC=gcc $DEFAULT_CONFIG_OPTS
58 CFLAGS="$(dpkg-buildflags --get CFLAGS)"
59 CPPLAGS="$(dpkg-buildflags --get CPPFLAGS)"
60 LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"
65 - /checks/check-built-plugins.sh
68 # Default toolchain and build flags used in RPM packages, on a range of RedHat
69 # and Fedora releases (+ Fedora/rawhide)
70 # Most should succeed, and PRs shouldn't break them.
72 redhat_default_toolchain_task:
74 - allow_failures: false
75 skip_notifications: false
77 image: collectd/ci:el6_x86_64
78 - allow_failures: true
79 skip_notifications: true
81 image: collectd/ci:el7_x86_64 # TODO: fix this platform
82 - allow_failures: true
83 skip_notifications: true
85 image: collectd/ci:fedora26_x86_64
86 - allow_failures: true
87 skip_notifications: true
89 image: collectd/ci:fedora28_x86_64
90 # fedora/rawhide is expected to fail
91 - allow_failures: true
92 skip_notifications: true
93 only_if: $CIRRUS_BRANCH == 'master'
95 image: collectd/ci:fedora_rawhide_x86_64
99 - ./configure CC=gcc $DEFAULT_CONFIG_OPTS CFLAGS="$(rpm --eval '%optflags')"
104 - /checks/check-built-plugins.sh
108 # Misc non-standard build environment & options on most recent released debian
110 # Some are expected to fail, others should always pass
111 non_standard_toolchains_task:
113 image: collectd/ci:stretch_amd64
114 only_if: $CIRRUS_PR == ''
118 # build using clang with default build flags, should always pass
121 allow_failures: true # TODO: fix this platform
122 skip_notifications: true
129 CFLAGS="$(dpkg-buildflags --get CFLAGS)"
130 CPPLAGS="$(dpkg-buildflags --get CPPFLAGS)"
131 LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"
137 # build against libstatgrab, should always pass
140 allow_failures: false
141 skip_notifications: false
146 ./configure --with-libstatgrab --enable-debug
147 CFLAGS="$(dpkg-buildflags --get CFLAGS)"
148 CPPLAGS="$(dpkg-buildflags --get CPPFLAGS)"
149 LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"
154 for i in cpu disk interface load memory swap users; do
155 if ! $(ldd ".libs/${i}.so" 2>/dev/null | grep -q 'libstatgrab.so'); then
156 echo "plugin $i NOT linked against libstatgrab"
161 # build against musl-libc using gcc wrapper, expected to fail
165 skip_notifications: true
170 ./configure CC=musl-gcc
172 CFLAGS="$(dpkg-buildflags --get CFLAGS)"
173 CPPLAGS="$(dpkg-buildflags --get CPPFLAGS)"
174 LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"
180 # build using clang with a collection of strict build flags, will most
181 # probably always fail
185 skip_notifications: true
198 -Wmissing-include-dirs
199 -Wold-style-definition
203 -Wimplicit-function-declaration
204 -Wmissing-declarations
210 -Wno-unused-parameter
211 -Wno-missing-field-initializers
214 -Wno-typedef-redefinition
215 -Wno-gnu-variable-sized-type-not-at-end'
222 # Build using a range of compilers, available in debian/unstable. NB: might
223 # fail because of changes to the distro, not the compiler used.
225 bleeding_edge_compilers_task:
227 image: collectd/ci:sid_amd64
228 only_if: $CIRRUS_BRANCH == 'master'
230 skip_notifications: true
245 CFLAGS="$(dpkg-buildflags --get CFLAGS)"
246 CPPLAGS="$(dpkg-buildflags --get CPPFLAGS)"
247 LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"