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 -j2 -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: false
31 image: collectd/ci:jessie_amd64
32 - allow_failures: false
34 image: collectd/ci:stretch_amd64
35 - allow_failures: false
37 image: collectd/ci:stretch_i386
38 - allow_failures: false
40 image: collectd/ci:trusty_amd64
41 - allow_failures: false
43 image: collectd/ci:xenial_amd64
44 # debian/unstable is expected to fail
45 - allow_failures: true
46 skip_notifications: true
47 only_if: $CIRRUS_BRANCH == 'master'
49 image: collectd/ci:sid_amd64
54 ./configure CC=gcc $DEFAULT_CONFIG_OPTS
55 CFLAGS="$(dpkg-buildflags --get CFLAGS)"
56 CPPLAGS="$(dpkg-buildflags --get CPPFLAGS)"
57 LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"
62 - /checks/check-built-plugins.sh
65 # Default toolchain and build flags used in RPM packages, on a range of RedHat
66 # and Fedora releases (+ Fedora/rawhide)
67 # Most should succeed, and PRs shouldn't break them.
69 redhat_default_toolchain_task:
71 - allow_failures: false
72 skip_notifications: false
74 image: collectd/ci:el6_x86_64
75 - allow_failures: true
76 skip_notifications: true
78 image: collectd/ci:el7_x86_64 # TODO: fix this platform
79 - allow_failures: true
80 skip_notifications: true
82 image: collectd/ci:fedora26_x86_64
83 - allow_failures: true
84 skip_notifications: true
86 image: collectd/ci:fedora28_x86_64
87 # fedora/rawhide is expected to fail
88 - allow_failures: true
89 skip_notifications: true
90 only_if: $CIRRUS_BRANCH == 'master'
92 image: collectd/ci:fedora_rawhide_x86_64
96 - ./configure CC=gcc $DEFAULT_CONFIG_OPTS CFLAGS="$(rpm --eval '%optflags')"
101 - /checks/check-built-plugins.sh
105 # Misc non-standard build environment & options on most recent released debian
107 # Some are expected to fail, others should always pass
108 non_standard_toolchains_task:
110 image: collectd/ci:stretch_amd64
111 only_if: $CIRRUS_PR == ''
115 # build using clang with default build flags, should always pass
118 allow_failures: true # TODO: fix this platform
119 skip_notifications: true
126 CFLAGS="$(dpkg-buildflags --get CFLAGS)"
127 CPPLAGS="$(dpkg-buildflags --get CPPFLAGS)"
128 LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"
134 # build against libstatgrab, should always pass
137 allow_failures: false
138 skip_notifications: false
143 ./configure --with-libstatgrab --enable-debug
144 CFLAGS="$(dpkg-buildflags --get CFLAGS)"
145 CPPLAGS="$(dpkg-buildflags --get CPPFLAGS)"
146 LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"
151 for i in cpu disk interface load memory swap users; do
152 if ! $(ldd ".libs/${i}.so" 2>/dev/null | grep -q 'libstatgrab.so'); then
153 echo "plugin $i NOT linked against libstatgrab"
158 # build against musl-libc using gcc wrapper, expected to fail
162 skip_notifications: true
167 ./configure CC=musl-gcc
169 CFLAGS="$(dpkg-buildflags --get CFLAGS)"
170 CPPLAGS="$(dpkg-buildflags --get CPPFLAGS)"
171 LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"
177 # build using clang with a collection of strict build flags, will most
178 # probably always fail
182 skip_notifications: true
195 -Wmissing-include-dirs
196 -Wold-style-definition
200 -Wimplicit-function-declaration
201 -Wmissing-declarations
207 -Wno-unused-parameter
208 -Wno-missing-field-initializers
211 -Wno-typedef-redefinition
212 -Wno-gnu-variable-sized-type-not-at-end'
219 # Build using a range of compilers, available in debian/unstable. NB: might
220 # fail because of changes to the distro, not the compiler used.
222 bleeding_edge_compilers_task:
224 image: collectd/ci:sid_amd64
225 only_if: $CIRRUS_BRANCH == 'master'
227 skip_notifications: true
242 CFLAGS="$(dpkg-buildflags --get CFLAGS)"
243 CPPLAGS="$(dpkg-buildflags --get CPPFLAGS)"
244 LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"