From 394393fb6e1d52d67e1c225eb804edcebc259f28 Mon Sep 17 00:00:00 2001 From: Benedikt Heine Date: Sat, 24 Nov 2018 22:55:27 +0100 Subject: [PATCH 1/4] Let's test CircleCI --- .circleci/config.yml | 73 ++++++++++++++++++++++++++++++++++++++++++ .valgrind.suppressions | 29 +++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..d8d3011 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,73 @@ +version: 2.1 +jobs: + misc-doxygen: + docker: + - image: bebehei/dunst:misc-doxygen-dev + environment: + SYSTEMD: 0 + SERVICEDIR_DBUS: /tmp/none + SERVICEDIR_SYSTEMD: /tmp/none + PKG_CONFIG: echo + steps: + - checkout + - run: make -j doc-doxygen + + compileandtest: + environment: + CFLAGS: -Werror + parameters: + distro: + type: string + docker: + - image: bebehei/dunst:<>-dev + steps: + - checkout + - run: make -j all dunstify + - run: make -j test-valgrind + - run: make -j clean + - run: make -j test-coverage + +workflows: + version: 2 + build-in-docker: + jobs: + - misc-doxygen + - compileandtest: + name: Alpine + distro: alpine + - compileandtest: + name: Debian Stretch + distro: debian-stretch + requires: + - misc-doxygen + - Alpine + - compileandtest: + name: Arch Linux + distro: archlinux + requires: + - misc-doxygen + - Alpine + - compileandtest: + name: Fedora 27 + distro: fedora27 + requires: + - misc-doxygen + - Alpine + - compileandtest: + name: Ubuntu 14.04 + distro: ubuntu-trusty + requires: + - misc-doxygen + - Alpine + - compileandtest: + name: Ubuntu 16.04 + distro: ubuntu-xenial + requires: + - misc-doxygen + - Alpine + - compileandtest: + name: Ubuntu 18.04 + distro: ubuntu-bionic + requires: + - misc-doxygen + - Alpine diff --git a/.valgrind.suppressions b/.valgrind.suppressions index 7a55394..67d5d10 100644 --- a/.valgrind.suppressions +++ b/.valgrind.suppressions @@ -1,3 +1,32 @@ +# Ignore musls' weird error +{ + musl_alpine_libc + Memcheck:Free + fun:free + obj:/lib/ld-musl-x86_64.so.1 +} + +# MemLeak under Fedora 27 +{ + rsvg_fedora_unknown_source + Memcheck:Leak + match-leak-kinds: definite + fun:malloc + fun:g_malloc + fun:g_slice_alloc + fun:g_slice_alloc0 + fun:g_type_create_instance + obj:*libgobject-2.0.so* + fun:g_object_new_valist + fun:g_object_new + fun:gdk_pixbuf_new_from_data + fun:gdk_pixbuf_new + obj:*/libgdk_pixbuf-2.0.so* + fun:gdk_pixbuf_new_from_file + fun:get_pixbuf_from_file + ... +} + # rsvg_error_handle_close got fixed in # - GNOME/librsvg@7bf1014 # (2018-11-12, first tags: v2.45.0, v2.44.9) From 3c28432044b40dbe9b9e451c97aedff5cc5adc66 Mon Sep 17 00:00:00 2001 From: Benedikt Heine Date: Mon, 26 Nov 2018 12:36:31 +0100 Subject: [PATCH 2/4] Do not use -j for clean -j introduces race conditions, which lets the find -name ... -delete commands fail, because those can't find specific files, which got removed in the meantime. --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index d8d3011..fae3b6e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -24,7 +24,7 @@ jobs: - checkout - run: make -j all dunstify - run: make -j test-valgrind - - run: make -j clean + - run: make clean - run: make -j test-coverage workflows: From 91adaa0da99ad552717acfc0f4f1c0f13a77e614 Mon Sep 17 00:00:00 2001 From: Benedikt Heine Date: Sun, 25 Nov 2018 04:36:02 +0100 Subject: [PATCH 3/4] Use clang and GCC simultaneously --- .circleci/config.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index fae3b6e..168e376 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -22,10 +22,13 @@ jobs: - image: bebehei/dunst:<>-dev steps: - checkout - - run: make -j all dunstify - - run: make -j test-valgrind - - run: make clean - - run: make -j test-coverage + - run: make CC=clang -j all dunstify test/test + - run: make CC=clang -j test-valgrind + - run: make clean + - run: make CC=gcc -j all dunstify test/test + - run: make CC=gcc -j test-valgrind + - run: make clean + - run: make -j test-coverage workflows: version: 2 From 90813dde8e5dbe9ed56a8a7714bb717de6a47c46 Mon Sep 17 00:00:00 2001 From: Benedikt Heine Date: Tue, 27 Nov 2018 13:55:52 +0100 Subject: [PATCH 4/4] Update Fedora version to latest --- .circleci/config.yml | 4 ++-- .valgrind.suppressions | 21 --------------------- 2 files changed, 2 insertions(+), 23 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 168e376..6dfedb7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -51,8 +51,8 @@ workflows: - misc-doxygen - Alpine - compileandtest: - name: Fedora 27 - distro: fedora27 + name: Fedora 30 + distro: fedora30 requires: - misc-doxygen - Alpine diff --git a/.valgrind.suppressions b/.valgrind.suppressions index 67d5d10..7201368 100644 --- a/.valgrind.suppressions +++ b/.valgrind.suppressions @@ -6,27 +6,6 @@ obj:/lib/ld-musl-x86_64.so.1 } -# MemLeak under Fedora 27 -{ - rsvg_fedora_unknown_source - Memcheck:Leak - match-leak-kinds: definite - fun:malloc - fun:g_malloc - fun:g_slice_alloc - fun:g_slice_alloc0 - fun:g_type_create_instance - obj:*libgobject-2.0.so* - fun:g_object_new_valist - fun:g_object_new - fun:gdk_pixbuf_new_from_data - fun:gdk_pixbuf_new - obj:*/libgdk_pixbuf-2.0.so* - fun:gdk_pixbuf_new_from_file - fun:get_pixbuf_from_file - ... -} - # rsvg_error_handle_close got fixed in # - GNOME/librsvg@7bf1014 # (2018-11-12, first tags: v2.45.0, v2.44.9)