[{"id":32821,"web_url":"https://patchwork.libcamera.org/comment/32821/","msgid":"<20241217155445.GD20432@pendragon.ideasonboard.com>","date":"2024-12-17T15:54:45","subject":"Re: [libcamera-ci] [RFC PATCH v3 3/4] Add `build-package:debug` job","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Barnabás,\n\nThank you for the patch.\n\nOn Tue, Dec 17, 2024 at 04:31:52PM +0100, Barnabás Pőcze wrote:\n> Convert `build-package:arm64` into a `parallel:matrix` job that\n> compiles libcamera for amd64 and arm64 with debugging additions\n> (ASAN, UBSAN, STL debugging) and then publishes the resulting\n> package as an artifact for other jobs to use.\n> \n> Note the `force_fallback_for=gtest` option, which is needed because\n> the googletest library, a dependency of `lc-compliance`, uses STL\n> types in its API, and `cpp_debugstl=true` changes the ABI of these\n> types, so it has to be compiled with the same options from source.\n> \n> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> ---\n> \n> Changes 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> diff --git a/gitlab-ci.yml b/gitlab-ci.yml\n> index 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","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 D4473BD1F1\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 17 Dec 2024 15:54:49 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 1C64467FE1;\n\tTue, 17 Dec 2024 16:54:49 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 6DCB067FDD\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 17 Dec 2024 16:54:47 +0100 (CET)","from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi\n\t[81.175.209.231])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id EBA663E;\n\tTue, 17 Dec 2024 16:54:09 +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=\"wSqudMfc\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1734450850;\n\tbh=QuZyf7S+R3DOfGYtNvdjq57RbMjmN0T8/pG6Dcg3zKw=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=wSqudMfca/FBpdrPxTN7xGUymfkJKIyHjNeJba7lNlx5vSZuCDp7i0hD7BfpEeP0+\n\tVib4wnsb0q/HJ67M21x3j+A+zR++1gjRiFfYCfLLfspHlE344BKiOJv8RMl/B+Ve9V\n\tl/51JUBtYfVREzjId78WCovsACK1qCZAMMIDR9tc=","Date":"Tue, 17 Dec 2024 17:54:45 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Subject":"Re: [libcamera-ci] [RFC PATCH v3 3/4] Add `build-package:debug` job","Message-ID":"<20241217155445.GD20432@pendragon.ideasonboard.com>","References":"<20241217153153.140417-1-barnabas.pocze@ideasonboard.com>\n\t<20241217153153.140417-3-barnabas.pocze@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<20241217153153.140417-3-barnabas.pocze@ideasonboard.com>","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>"}}]