talkatu/builders

Add a valgrind image

2019-07-09, Gary Kramlich
2e7c5204536e
Parents 197f85a7a785
Children ade5c465024f
Add a valgrind image
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Dockerfile.valgrind Tue Jul 09 01:51:08 2019 -0500
@@ -0,0 +1,16 @@
+FROM talkatu/builders:debian-buster-amd64
+
+MAINTAINER Gary Kramlich <grim@reaperworld.com>
+
+RUN set -ex && \
+ echo deb http://debug.mirrors.debian.org/debian-debug/ unstable-debug main > /etc/apt/sources.list.d/dbgsym.list && \
+ apt-get update && \
+ apt-get install -y --no-install-recommends \
+ valgrind \
+ libglib2.0-0-dbgsym libgtk-3-0-dbgsym libcmark0-dbgsym libgumbo1-dbgsym \
+ && \
+ apt-get clean && \
+ rm -rf /var/lib/apt/lists
+
+COPY valgrind/build.sh /
+
--- a/convey.yml Fri May 24 01:43:22 2019 -0500
+++ b/convey.yml Tue Jul 09 01:51:08 2019 -0500
@@ -96,6 +96,11 @@
stages:
- tasks: [import, build-target]
+ valgrind:
+ environment: [TARGET=valgrind, FILES=valgrind]
+ stages:
+ - tasks: [import, build-target]
+
build:
stages:
- tasks: [import, build]
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/valgrind/build.sh Tue Jul 09 01:51:08 2019 -0500
@@ -0,0 +1,31 @@
+#!/bin/sh -x
+# Copyright (C) 2015-2019 Gary Kramlich <grim@reaperworld.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+cd ${CONVEY_WORKSPACE}
+
+BUILD_DIR="build-valgrind"
+
+
+meson ${BUILD_DIR}
+meson test -C ${BUILD_DIR} --wrapper "valgrind --leak-check=full --error-exitcode=1"
+EC=${?}
+
+mkdir -p ${CONVEY_WORKSPACE}/valgrind
+cp -a ${BUILD_DIR}/meson-logs/testlog-valgrind.txt ${CONVEY_WORKSPACE}/valgrind/
+
+exit ${EC}
+