4 DEFAULT_CONFIG_OPTS: --enable-debug --without-libstatgrab --disable-dependency-tracking
8 # make distcheck and other sanity checks
12 image: collectd/ci:stretch_amd64
14 - /checks/check-bashisms.sh
15 - /checks/check-pod.sh
18 - ./configure $DEFAULT_CONFIG_OPTS
20 - make -s distcheck DISTCHECK_CONFIGURE_FLAGS="${DEFAULT_CONFIG_OPTS}"
23 # Default toolchain and build flags used in deb packages, on a range of Debian
24 # and Ubuntu releases (+ Debian/unstable)
25 # Most should succeed, and PRs shouldn't break them.
27 debian_default_toolchain_task:
29 - allow_failures: true
30 skip_notifications: true
32 image: collectd/ci:wheezy_amd64 # TODO: fix this platform
33 - allow_failures: false
35 image: collectd/ci:jessie_amd64
36 - allow_failures: false
38 image: collectd/ci:stretch_amd64
39 - allow_failures: false
41 image: collectd/ci:stretch_i386
42 - allow_failures: false
44 image: collectd/ci:trusty_amd64
45 - allow_failures: false
47 image: collectd/ci:xenial_amd64
48 # debian/unstable is expected to fail
49 - allow_failures: true
50 skip_notifications: true
51 only_if: $CIRRUS_BRANCH == 'master'
53 image: collectd/ci:sid_amd64
58 ./configure CC=gcc $DEFAULT_CONFIG_OPTS
59 CFLAGS="$(dpkg-buildflags --get CFLAGS)"
60 CPPLAGS="$(dpkg-buildflags --get CPPFLAGS)"
61 LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"
66 - /checks/check-built-plugins.sh
69 # Default toolchain and build flags used in RPM packages, on a range of RedHat
70 # and Fedora releases (+ Fedora/rawhide)
71 # Most should succeed, and PRs shouldn't break them.
73 redhat_default_toolchain_task:
75 - allow_failures: false
76 skip_notifications: false
78 image: collectd/ci:el6_x86_64
79 - allow_failures: true
80 skip_notifications: true
82 image: collectd/ci:el7_x86_64 # TODO: fix this platform
83 - allow_failures: true
84 skip_notifications: true
86 image: collectd/ci:fedora26_x86_64
87 - allow_failures: true
88 skip_notifications: true
90 image: collectd/ci:fedora28_x86_64
91 # fedora/rawhide is expected to fail
92 - allow_failures: true
93 skip_notifications: true
94 only_if: $CIRRUS_BRANCH == 'master'
96 image: collectd/ci:fedora_rawhide_x86_64
100 - ./configure CC=gcc $DEFAULT_CONFIG_OPTS CFLAGS="$(rpm --eval '%optflags')"
105 - /checks/check-built-plugins.sh
109 # Misc non-standard build environment & options on most recent released debian
111 # Some are expected to fail, others should always pass
112 non_standard_toolchains_task:
114 image: collectd/ci:stretch_amd64
115 only_if: $CIRRUS_PR == ''
119 # build using clang with default build flags, should always pass
122 allow_failures: true # TODO: fix this platform
123 skip_notifications: true
130 CFLAGS="$(dpkg-buildflags --get CFLAGS)"
131 CPPLAGS="$(dpkg-buildflags --get CPPFLAGS)"
132 LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"
138 # build against libstatgrab, should always pass
141 allow_failures: false
142 skip_notifications: false
147 ./configure --with-libstatgrab --enable-debug
148 CFLAGS="$(dpkg-buildflags --get CFLAGS)"
149 CPPLAGS="$(dpkg-buildflags --get CPPFLAGS)"
150 LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"
155 for i in cpu disk interface load memory swap users; do
156 if ! $(ldd ".libs/${i}.so" 2>/dev/null | grep -q 'libstatgrab.so'); then
157 echo "plugin $i NOT linked against libstatgrab"
162 # build against musl-libc using gcc wrapper, expected to fail
166 skip_notifications: true
171 ./configure CC=musl-gcc
173 CFLAGS="$(dpkg-buildflags --get CFLAGS)"
174 CPPLAGS="$(dpkg-buildflags --get CPPFLAGS)"
175 LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"
181 # build using clang with a collection of strict build flags, will most
182 # probably always fail
186 skip_notifications: true
199 -Wmissing-include-dirs
200 -Wold-style-definition
204 -Wimplicit-function-declaration
205 -Wmissing-declarations
211 -Wno-unused-parameter
212 -Wno-missing-field-initializers
215 -Wno-typedef-redefinition
216 -Wno-gnu-variable-sized-type-not-at-end'
223 # Build using a range of compilers, available in debian/unstable. NB: might
224 # fail because of changes to the distro, not the compiler used.
226 bleeding_edge_compilers_task:
228 image: collectd/ci:sid_amd64
229 only_if: $CIRRUS_BRANCH == 'master'
231 skip_notifications: true
246 CFLAGS="$(dpkg-buildflags --get CFLAGS)"
247 CPPLAGS="$(dpkg-buildflags --get CPPFLAGS)"
248 LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"