{"id":22382,"url":"https://patchwork.libcamera.org/api/patches/22382/?format=json","web_url":"https://patchwork.libcamera.org/patch/22382/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20241217153153.140417-3-barnabas.pocze@ideasonboard.com>","date":"2024-12-17T15:31:52","name":"[libcamera-ci,RFC,v3,3/4] Add `build-package:debug` job","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"819d8dd6613561523f3ca93deb47dd58c269b0e0","submitter":{"id":216,"url":"https://patchwork.libcamera.org/api/people/216/?format=json","name":"Barnabás Pőcze","email":"barnabas.pocze@ideasonboard.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/22382/mbox/","series":[{"id":4906,"url":"https://patchwork.libcamera.org/api/series/4906/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4906","date":"2024-12-17T15:31:50","name":"[libcamera-ci,RFC,v3,1/4] Enable `UDMABUF` in the kernel","version":3,"mbox":"https://patchwork.libcamera.org/series/4906/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/22382/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/22382/checks/","tags":{},"headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id E4FEAC32F6\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 17 Dec 2024 15:32:03 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3296367FDB;\n\tTue, 17 Dec 2024 16:32:01 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id BBB5967FD5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 17 Dec 2024 16:31:56 +0100 (CET)","from pb-laptop.local (185.221.140.157.nat.pool.zt.hu\n\t[185.221.140.157])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 726A475A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 17 Dec 2024 16:31:19 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"JWVuuJTp\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1734449479;\n\tbh=Kx0F2w3oJr0kLBSQxrNc07jkHZ2lfuYTkoYzo/6JJTk=;\n\th=From:To:Subject:Date:In-Reply-To:References:From;\n\tb=JWVuuJTp1VE8CM7WtWVmeXrQ1PqCOLPN6ucb+Cb/85FXQNAjw6ULm2vJljcjIfa7P\n\ticaVZgrG5XGmX186JJ+yUqpEBNGwnt9uTYfxo7BQ4EJoNwai4B5Ij+mk508Selu2JL\n\tpP89vTrIRJB7E/bg75r3pi8pTL03uuiiyVXousAI=","From":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Subject":"[libcamera-ci] [RFC PATCH v3 3/4] Add `build-package:debug` job","Date":"Tue, 17 Dec 2024 16:31:52 +0100","Message-ID":"<20241217153153.140417-3-barnabas.pocze@ideasonboard.com>","X-Mailer":"git-send-email 2.47.1","In-Reply-To":"<20241217153153.140417-1-barnabas.pocze@ideasonboard.com>","References":"<20241217153153.140417-1-barnabas.pocze@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Convert `build-package:arm64` into a `parallel:matrix` job that\ncompiles libcamera for amd64 and arm64 with debugging additions\n(ASAN, UBSAN, STL debugging) and then publishes the resulting\npackage as an artifact for other jobs to use.\n\nNote the `force_fallback_for=gtest` option, which is needed because\nthe googletest library, a dependency of `lc-compliance`, uses STL\ntypes in its API, and `cpp_debugstl=true` changes the ABI of these\ntypes, so it has to be compiled with the same options from source.\n\nSigned-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n---\n\nChanges in v3:\n  * extend `build-package:arm64` instead of creating a new job\n\n---\n gitlab-ci.yml | 21 +++++++++++----------\n 1 file changed, 11 insertions(+), 10 deletions(-)\n\n--\n2.47.1","diff":"diff --git a/gitlab-ci.yml b/gitlab-ci.yml\nindex f679d6e..205c6ff 100644\n--- a/gitlab-ci.yml\n+++ b/gitlab-ci.yml\n@@ -248,7 +248,7 @@ build-history:\n # real hardware. Enable only the options needed by the tests.\n #\n\n-build-package:arm64:\n+build-package:debug:\n   extends:\n     - .fdo.distribution-image@debian\n     - .libcamera-ci.debian:12\n@@ -261,27 +261,28 @@ build-package:arm64:\n     - $CI_PROJECT_DIR/.gitlab-ci/build-libcamera.sh\n     - $CI_PROJECT_DIR/.gitlab-ci/package-libcamera.sh\n   artifacts:\n-    name: libcamera-arm64-${CI_COMMIT_SHA}\n+    name: libcamera-debug-${ARCH}-${CI_COMMIT_SHA}\n     when: always\n     expire_in: 1 week\n     paths:\n       - build/meson-logs/\n       - libcamera-${CI_COMMIT_SHA}.tar.xz\n   variables:\n-    ARCH: arm64\n     BUILD_TYPE: debug\n     MESON_OPTIONS: >-\n-      -D cam=disabled\n-      -D documentation=disabled\n-      -D gstreamer=disabled\n-      -D lc-compliance=enabled\n+      -D b_sanitize=address,undefined\n+      -D cpp_debugstl=true\n+      -D force_fallback_for=['gtest']\n       -D pipelines=['auto']\n-      -D pycamera=disabled\n-      -D qcam=disabled\n+      -D auto_features=disabled\n+      -D lc-compliance=enabled\n       -D test=false\n       -D tracing=enabled\n-      -D udev=disabled\n       -D v4l2=false\n+  parallel:\n+    matrix:\n+      - ARCH: amd64\n+      - ARCH: arm64\n\n #\n # Build and package libcamera for Chrome OS, for the purpose of running tests\n","prefixes":["libcamera-ci","RFC","v3","3/4"]}