[{"id":32792,"web_url":"https://patchwork.libcamera.org/comment/32792/","msgid":"<20241217000650.GC19635@pendragon.ideasonboard.com>","date":"2024-12-17T00:06:50","subject":"Re: [libcamera-ci] [RFC PATCH v2 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 Mon, Dec 16, 2024 at 06:28:26PM +0100, Barnabás Pőcze wrote:\n> Add a new job named `build-package:debug`, whose purpose is to create\n> a build of libcamera with debugging additions (ASAN, UBSAN, STL checks),\n> and then to publish the resulting package as an artifact for other\n> jobs to use.\n> \n> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n> ---\n>  gitlab-ci.yml | 33 +++++++++++++++++++++++++++++++++\n>  1 file changed, 33 insertions(+)\n> \n> diff --git a/gitlab-ci.yml b/gitlab-ci.yml\n> index f679d6e..0a3eab3 100644\n> --- a/gitlab-ci.yml\n> +++ b/gitlab-ci.yml\n> @@ -305,6 +305,39 @@ build-package:cros:\n>      reports:\n>        dotenv: env\n> \n> +build-package:debug:\n> +  extends:\n> +    - .fdo.distribution-image@debian\n> +    - .libcamera-ci.debian:12\n> +    - .libcamera-ci.scripts\n> +  stage: build\n> +  needs:\n> +    - job: container-debian:12\n> +      artifacts: false\n> +  script:\n> +    - $CI_PROJECT_DIR/.gitlab-ci/build-libcamera.sh\n> +    - $CI_PROJECT_DIR/.gitlab-ci/package-libcamera.sh\n> +  artifacts:\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> +    BUILD_TYPE: debug\n> +    MESON_OPTIONS: >-\n> +      -D auto_features=disabled\n> +      -D test=false\n> +      -D v4l2=false\n> +      -D b_sanitize=address,undefined\n> +      -D cpp_debugstl=true\n> +      -D pipelines=[]\n\nAny reason not to enable lc-compliance and the virtual pipeline handler\nhere already (essentially moving the change of options from patch 4/4 to\nthis one) ?\n\nI would also like to unify this with build-package:arm64, as it's very\nsimilar. You can add arm64 to the matrix below, and set arch-specific\nmeson options when they need to differ. After possibly updating\nmeson.build in libcamera to support \"-D pipelines=['auto', 'virtual']\",\nI think you could simply set pipelines to 'auto' on all architectures.\n\n> +  parallel:\n> +    matrix:\n> +      - ARCH: amd64\n> +\n> +\n>  # ------------------------------------------------------------------------------\n>  # Lint stage - Run checkstyle.py and check merge suitability\n>  # ------------------------------------------------------------------------------","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 8E85AC32F6\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 17 Dec 2024 00:07:09 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 62C4167FB1;\n\tTue, 17 Dec 2024 01:07:08 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 5809261899\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 17 Dec 2024 01:07:07 +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 3FD2D514;\n\tTue, 17 Dec 2024 01:06:30 +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=\"Wmbn6Y/c\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1734393990;\n\tbh=o0ZEBHAaZLdZ02DQxImmJIwMAPBvEgZEaLxmJijJFfw=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=Wmbn6Y/cTVqX/IEgYsKxsWSYjQypyfY29EWj+mrkU9RYeehzyPBvZ6DVjrwlvoiVe\n\tzauH32l5Y2wtrcMPh1+9Fyx2dfHQQGqt5Mmsur7Cx9a5X/WMwHx0TI2Iy/o6KueXoM\n\ttczIcRaDZXWVRXnKAxeCStA7yB392I0m2NIB1Lxs=","Date":"Tue, 17 Dec 2024 02:06:50 +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 v2 3/4] Add `build-package:debug` job","Message-ID":"<20241217000650.GC19635@pendragon.ideasonboard.com>","References":"<20241216172827.1055088-1-barnabas.pocze@ideasonboard.com>\n\t<20241216172827.1055088-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":"<20241216172827.1055088-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>"}},{"id":32806,"web_url":"https://patchwork.libcamera.org/comment/32806/","msgid":"<2c73f370-9c35-452f-97de-34d47d16d732@ideasonboard.com>","date":"2024-12-17T10:40:13","subject":"Re: [libcamera-ci] [RFC PATCH v2 3/4] Add `build-package:debug` job","submitter":{"id":216,"url":"https://patchwork.libcamera.org/api/people/216/","name":"Barnabás Pőcze","email":"barnabas.pocze@ideasonboard.com"},"content":"2024. 12. 17. 1:06 keltezéssel, Laurent Pinchart írta:\n> Hi Barnabás,\n> \n> Thank you for the patch.\n> \n> On Mon, Dec 16, 2024 at 06:28:26PM +0100, Barnabás Pőcze wrote:\n>> Add a new job named `build-package:debug`, whose purpose is to create\n>> a build of libcamera with debugging additions (ASAN, UBSAN, STL checks),\n>> and then to publish the resulting package as an artifact for other\n>> jobs to use.\n>>\n>> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n>> ---\n>>   gitlab-ci.yml | 33 +++++++++++++++++++++++++++++++++\n>>   1 file changed, 33 insertions(+)\n>>\n>> diff --git a/gitlab-ci.yml b/gitlab-ci.yml\n>> index f679d6e..0a3eab3 100644\n>> --- a/gitlab-ci.yml\n>> +++ b/gitlab-ci.yml\n>> @@ -305,6 +305,39 @@ build-package:cros:\n>>       reports:\n>>         dotenv: env\n>>\n>> +build-package:debug:\n>> +  extends:\n>> +    - .fdo.distribution-image@debian\n>> +    - .libcamera-ci.debian:12\n>> +    - .libcamera-ci.scripts\n>> +  stage: build\n>> +  needs:\n>> +    - job: container-debian:12\n>> +      artifacts: false\n>> +  script:\n>> +    - $CI_PROJECT_DIR/.gitlab-ci/build-libcamera.sh\n>> +    - $CI_PROJECT_DIR/.gitlab-ci/package-libcamera.sh\n>> +  artifacts:\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>> +    BUILD_TYPE: debug\n>> +    MESON_OPTIONS: >-\n>> +      -D auto_features=disabled\n>> +      -D test=false\n>> +      -D v4l2=false\n>> +      -D b_sanitize=address,undefined\n>> +      -D cpp_debugstl=true\n>> +      -D pipelines=[]\n> \n> Any reason not to enable lc-compliance and the virtual pipeline handler\n> here already (essentially moving the change of options from patch 4/4 to\n> this one) ?\n\nNo particular reason apart from just thinking that those changes\nbelong to the next patch.\n\n\n> \n> I would also like to unify this with build-package:arm64, as it's very\n> similar. You can add arm64 to the matrix below, and set arch-specific\n> meson options when they need to differ. After possibly updating\n> meson.build in libcamera to support \"-D pipelines=['auto', 'virtual']\",\n> I think you could simply set pipelines to 'auto' on all architectures.\n\nThe motivation for not unifying the two was that build-package:arm64\ndoes not compile with the same debug instrumentation.\n\n\nRegards,\nBarnabás Pőcze\n\n> \n>> +  parallel:\n>> +    matrix:\n>> +      - ARCH: amd64\n>> +\n>> +\n>>   # ------------------------------------------------------------------------------\n>>   # Lint stage - Run checkstyle.py and check merge suitability\n>>   # ------------------------------------------------------------------------------\n>","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 43A1AC32AF\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 17 Dec 2024 10:40:19 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A1A4667FC1;\n\tTue, 17 Dec 2024 11:40:18 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2D35061899\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 17 Dec 2024 11:40:16 +0100 (CET)","from [192.168.33.28] (185.221.140.157.nat.pool.zt.hu\n\t[185.221.140.157])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id D70023E;\n\tTue, 17 Dec 2024 11:39:38 +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=\"f1S68O+M\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1734431979;\n\tbh=+6L+FgQwHIrzQ2xGC9FeVK6Y00n75C0wtvkKX7o/eEc=;\n\th=Date:Subject:To:Cc:References:From:In-Reply-To:From;\n\tb=f1S68O+Mn0e2oVngbZcV5gkTICYzgETgwRvF8VEfTmTJWP1QOcfBzbrt/fl9hrWTq\n\tnfTozAtXp/46diCDVqrXBDa2Rg5/nRPS5ea7E4p7EVON4fGwao+8iz8WD9EUDhjajP\n\t5O5uO5JD4CSlk/aatid5ft+qw0/RDvb+RG5LFWIs=","Message-ID":"<2c73f370-9c35-452f-97de-34d47d16d732@ideasonboard.com>","Date":"Tue, 17 Dec 2024 11:40:13 +0100","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [libcamera-ci] [RFC PATCH v2 3/4] Add `build-package:debug` job","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","References":"<20241216172827.1055088-1-barnabas.pocze@ideasonboard.com>\n\t<20241216172827.1055088-3-barnabas.pocze@ideasonboard.com>\n\t<20241217000650.GC19635@pendragon.ideasonboard.com>","Content-Language":"en-US, hu-HU","From":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","In-Reply-To":"<20241217000650.GC19635@pendragon.ideasonboard.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","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>"}},{"id":32810,"web_url":"https://patchwork.libcamera.org/comment/32810/","msgid":"<20241217115832.GB2025@pendragon.ideasonboard.com>","date":"2024-12-17T11:58:32","subject":"Re: [libcamera-ci] [RFC PATCH v2 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":"On Tue, Dec 17, 2024 at 11:40:13AM +0100, Barnabás Pőcze wrote:\n> 2024. 12. 17. 1:06 keltezéssel, Laurent Pinchart írta:\n> > Hi Barnabás,\n> > \n> > Thank you for the patch.\n> > \n> > On Mon, Dec 16, 2024 at 06:28:26PM +0100, Barnabás Pőcze wrote:\n> >> Add a new job named `build-package:debug`, whose purpose is to create\n> >> a build of libcamera with debugging additions (ASAN, UBSAN, STL checks),\n> >> and then to publish the resulting package as an artifact for other\n> >> jobs to use.\n> >>\n> >> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n> >> ---\n> >>   gitlab-ci.yml | 33 +++++++++++++++++++++++++++++++++\n> >>   1 file changed, 33 insertions(+)\n> >>\n> >> diff --git a/gitlab-ci.yml b/gitlab-ci.yml\n> >> index f679d6e..0a3eab3 100644\n> >> --- a/gitlab-ci.yml\n> >> +++ b/gitlab-ci.yml\n> >> @@ -305,6 +305,39 @@ build-package:cros:\n> >>       reports:\n> >>         dotenv: env\n> >>\n> >> +build-package:debug:\n> >> +  extends:\n> >> +    - .fdo.distribution-image@debian\n> >> +    - .libcamera-ci.debian:12\n> >> +    - .libcamera-ci.scripts\n> >> +  stage: build\n> >> +  needs:\n> >> +    - job: container-debian:12\n> >> +      artifacts: false\n> >> +  script:\n> >> +    - $CI_PROJECT_DIR/.gitlab-ci/build-libcamera.sh\n> >> +    - $CI_PROJECT_DIR/.gitlab-ci/package-libcamera.sh\n> >> +  artifacts:\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> >> +    BUILD_TYPE: debug\n> >> +    MESON_OPTIONS: >-\n> >> +      -D auto_features=disabled\n> >> +      -D test=false\n> >> +      -D v4l2=false\n> >> +      -D b_sanitize=address,undefined\n> >> +      -D cpp_debugstl=true\n> >> +      -D pipelines=[]\n> > \n> > Any reason not to enable lc-compliance and the virtual pipeline handler\n> > here already (essentially moving the change of options from patch 4/4 to\n> > this one) ?\n> \n> No particular reason apart from just thinking that those changes\n> belong to the next patch.\n> \n> > I would also like to unify this with build-package:arm64, as it's very\n> > similar. You can add arm64 to the matrix below, and set arch-specific\n> > meson options when they need to differ. After possibly updating\n> > meson.build in libcamera to support \"-D pipelines=['auto', 'virtual']\",\n> > I think you could simply set pipelines to 'auto' on all architectures.\n> \n> The motivation for not unifying the two was that build-package:arm64\n> does not compile with the same debug instrumentation.\n\nAs both packages are meant to run test on devices (with lc-compliance\nbeing the main test), shouldn't we unify the debug instrumentation ? Or\nare there reasons to keep them different between arm64 and amd64 ? The\namd64 package needs to run in a VM on a gitlab runner so that could make\nit a bit special, but it would be nice to make it suitable to run on\nreal hardware too, to test the ipu3 or simple (for IPU6) pipeline\nhandlers.\n\n> >> +  parallel:\n> >> +    matrix:\n> >> +      - ARCH: amd64\n> >> +\n> >> +\n> >>   # ------------------------------------------------------------------------------\n> >>   # Lint stage - Run checkstyle.py and check merge suitability\n> >>   # ------------------------------------------------------------------------------","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 36922BD1F1\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 17 Dec 2024 11:58:36 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 56C8F67FC6;\n\tTue, 17 Dec 2024 12:58:35 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 3F90167F0D\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 17 Dec 2024 12:58:34 +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 D16344C7;\n\tTue, 17 Dec 2024 12:57:56 +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=\"KgfStLGi\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1734436677;\n\tbh=K+RWcphRhJEyDydcAscBTgwQ1+CQQsnxRNj5dKAHVWE=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=KgfStLGihWQxrQTPZlN5ZHK+LFEq8oQsd0aC3bfn9b31rY55s25S30oxsyuT5Qc8j\n\t8N9zu5xSytOmlTBN9nBUTi/wMnAp7fNX32BUaKma6mz83ZolIPK3Eih14zbM9ecyes\n\tlWj7mezlvicjYur4/TRY/ZIBNlmz1dsI7x6g5CdI=","Date":"Tue, 17 Dec 2024 13:58:32 +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 v2 3/4] Add `build-package:debug` job","Message-ID":"<20241217115832.GB2025@pendragon.ideasonboard.com>","References":"<20241216172827.1055088-1-barnabas.pocze@ideasonboard.com>\n\t<20241216172827.1055088-3-barnabas.pocze@ideasonboard.com>\n\t<20241217000650.GC19635@pendragon.ideasonboard.com>\n\t<2c73f370-9c35-452f-97de-34d47d16d732@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<2c73f370-9c35-452f-97de-34d47d16d732@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>"}},{"id":32814,"web_url":"https://patchwork.libcamera.org/comment/32814/","msgid":"<c7bb18ff-7b57-4434-895a-4380a1c04dc5@ideasonboard.com>","date":"2024-12-17T12:50:07","subject":"Re: [libcamera-ci] [RFC PATCH v2 3/4] Add `build-package:debug` job","submitter":{"id":216,"url":"https://patchwork.libcamera.org/api/people/216/","name":"Barnabás Pőcze","email":"barnabas.pocze@ideasonboard.com"},"content":"2024. 12. 17. 12:58 keltezéssel, Laurent Pinchart írta:\n> On Tue, Dec 17, 2024 at 11:40:13AM +0100, Barnabás Pőcze wrote:\n>> 2024. 12. 17. 1:06 keltezéssel, Laurent Pinchart írta:\n>>> Hi Barnabás,\n>>>\n>>> Thank you for the patch.\n>>>\n>>> On Mon, Dec 16, 2024 at 06:28:26PM +0100, Barnabás Pőcze wrote:\n>>>> Add a new job named `build-package:debug`, whose purpose is to create\n>>>> a build of libcamera with debugging additions (ASAN, UBSAN, STL checks),\n>>>> and then to publish the resulting package as an artifact for other\n>>>> jobs to use.\n>>>>\n>>>> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n>>>> ---\n>>>>    gitlab-ci.yml | 33 +++++++++++++++++++++++++++++++++\n>>>>    1 file changed, 33 insertions(+)\n>>>>\n>>>> diff --git a/gitlab-ci.yml b/gitlab-ci.yml\n>>>> index f679d6e..0a3eab3 100644\n>>>> --- a/gitlab-ci.yml\n>>>> +++ b/gitlab-ci.yml\n>>>> @@ -305,6 +305,39 @@ build-package:cros:\n>>>>        reports:\n>>>>          dotenv: env\n>>>>\n>>>> +build-package:debug:\n>>>> +  extends:\n>>>> +    - .fdo.distribution-image@debian\n>>>> +    - .libcamera-ci.debian:12\n>>>> +    - .libcamera-ci.scripts\n>>>> +  stage: build\n>>>> +  needs:\n>>>> +    - job: container-debian:12\n>>>> +      artifacts: false\n>>>> +  script:\n>>>> +    - $CI_PROJECT_DIR/.gitlab-ci/build-libcamera.sh\n>>>> +    - $CI_PROJECT_DIR/.gitlab-ci/package-libcamera.sh\n>>>> +  artifacts:\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>>>> +    BUILD_TYPE: debug\n>>>> +    MESON_OPTIONS: >-\n>>>> +      -D auto_features=disabled\n>>>> +      -D test=false\n>>>> +      -D v4l2=false\n>>>> +      -D b_sanitize=address,undefined\n>>>> +      -D cpp_debugstl=true\n>>>> +      -D pipelines=[]\n>>>\n>>> Any reason not to enable lc-compliance and the virtual pipeline handler\n>>> here already (essentially moving the change of options from patch 4/4 to\n>>> this one) ?\n>>\n>> No particular reason apart from just thinking that those changes\n>> belong to the next patch.\n>>\n>>> I would also like to unify this with build-package:arm64, as it's very\n>>> similar. You can add arm64 to the matrix below, and set arch-specific\n>>> meson options when they need to differ. After possibly updating\n>>> meson.build in libcamera to support \"-D pipelines=['auto', 'virtual']\",\n>>> I think you could simply set pipelines to 'auto' on all architectures.\n>>\n>> The motivation for not unifying the two was that build-package:arm64\n>> does not compile with the same debug instrumentation.\n> \n> As both packages are meant to run test on devices (with lc-compliance\n> being the main test), shouldn't we unify the debug instrumentation ? Or\n> are there reasons to keep them different between arm64 and amd64 ? The\n> amd64 package needs to run in a VM on a gitlab runner so that could make\n> it a bit special, but it would be nice to make it suitable to run on\n> real hardware too, to test the ipu3 or simple (for IPU6) pipeline\n> handlers.\n\nI think it is definitely possible to unify them.\n\n\n> \n>>>> +  parallel:\n>>>> +    matrix:\n>>>> +      - ARCH: amd64\n>>>> +\n>>>> +\n>>>>    # ------------------------------------------------------------------------------\n>>>>    # Lint stage - Run checkstyle.py and check merge suitability\n>>>>    # ------------------------------------------------------------------------------\n>","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 CF023BD1F1\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 17 Dec 2024 12:50:12 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 349CB67FCB;\n\tTue, 17 Dec 2024 13:50:12 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id BE99B67F0D\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 17 Dec 2024 13:50:10 +0100 (CET)","from [192.168.33.28] (185.221.140.157.nat.pool.zt.hu\n\t[185.221.140.157])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 691AF3E;\n\tTue, 17 Dec 2024 13:49:33 +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=\"UBdeo8RJ\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1734439773;\n\tbh=x4GoDQusf1o8skgMtwmgiXAktV+pSjXG1PBNOKE9zOc=;\n\th=Date:Subject:To:Cc:References:From:In-Reply-To:From;\n\tb=UBdeo8RJaAaQ7OjRNaeiyzI37HSRky5V2uzaF8Zr2Bqjx84O6vIavBwmsDcGu9m4Z\n\tjUlVPrel5HoFoNsqkgZh00CJQWEt2j9oYqfAwUCiomwqt7SyWPMrjfv5IXWd4T2TMj\n\t/HV19eVuzoi6Ft32Tn4Bqc26alwCyOfmL7NWxZs4=","Message-ID":"<c7bb18ff-7b57-4434-895a-4380a1c04dc5@ideasonboard.com>","Date":"Tue, 17 Dec 2024 13:50:07 +0100","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [libcamera-ci] [RFC PATCH v2 3/4] Add `build-package:debug` job","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","References":"<20241216172827.1055088-1-barnabas.pocze@ideasonboard.com>\n\t<20241216172827.1055088-3-barnabas.pocze@ideasonboard.com>\n\t<20241217000650.GC19635@pendragon.ideasonboard.com>\n\t<2c73f370-9c35-452f-97de-34d47d16d732@ideasonboard.com>\n\t<20241217115832.GB2025@pendragon.ideasonboard.com>","Content-Language":"en-US, hu-HU","From":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","In-Reply-To":"<20241217115832.GB2025@pendragon.ideasonboard.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","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>"}}]