[libcamera-ci] [RFC PATCH v2 3/4] Add `build-package:debug` job
Barnabás Pőcze
barnabas.pocze at ideasonboard.com
Tue Dec 17 11:40:13 CET 2024
2024. 12. 17. 1:06 keltezéssel, Laurent Pinchart írta:
> Hi Barnabás,
>
> Thank you for the patch.
>
> On Mon, Dec 16, 2024 at 06:28:26PM +0100, Barnabás Pőcze wrote:
>> Add a new job named `build-package:debug`, whose purpose is to create
>> a build of libcamera with debugging additions (ASAN, UBSAN, STL checks),
>> and then to publish the resulting package as an artifact for other
>> jobs to use.
>>
>> Signed-off-by: Barnabás Pőcze <barnabas.pocze at ideasonboard.com>
>> ---
>> gitlab-ci.yml | 33 +++++++++++++++++++++++++++++++++
>> 1 file changed, 33 insertions(+)
>>
>> diff --git a/gitlab-ci.yml b/gitlab-ci.yml
>> index f679d6e..0a3eab3 100644
>> --- a/gitlab-ci.yml
>> +++ b/gitlab-ci.yml
>> @@ -305,6 +305,39 @@ build-package:cros:
>> reports:
>> dotenv: env
>>
>> +build-package:debug:
>> + extends:
>> + - .fdo.distribution-image at debian
>> + - .libcamera-ci.debian:12
>> + - .libcamera-ci.scripts
>> + stage: build
>> + needs:
>> + - job: container-debian:12
>> + artifacts: false
>> + script:
>> + - $CI_PROJECT_DIR/.gitlab-ci/build-libcamera.sh
>> + - $CI_PROJECT_DIR/.gitlab-ci/package-libcamera.sh
>> + artifacts:
>> + name: libcamera-debug-${ARCH}-${CI_COMMIT_SHA}
>> + when: always
>> + expire_in: 1 week
>> + paths:
>> + - build/meson-logs/
>> + - libcamera-${CI_COMMIT_SHA}.tar.xz
>> + variables:
>> + BUILD_TYPE: debug
>> + MESON_OPTIONS: >-
>> + -D auto_features=disabled
>> + -D test=false
>> + -D v4l2=false
>> + -D b_sanitize=address,undefined
>> + -D cpp_debugstl=true
>> + -D pipelines=[]
>
> Any reason not to enable lc-compliance and the virtual pipeline handler
> here already (essentially moving the change of options from patch 4/4 to
> this one) ?
No particular reason apart from just thinking that those changes
belong to the next patch.
>
> I would also like to unify this with build-package:arm64, as it's very
> similar. You can add arm64 to the matrix below, and set arch-specific
> meson options when they need to differ. After possibly updating
> meson.build in libcamera to support "-D pipelines=['auto', 'virtual']",
> I think you could simply set pipelines to 'auto' on all architectures.
The motivation for not unifying the two was that build-package:arm64
does not compile with the same debug instrumentation.
Regards,
Barnabás Pőcze
>
>> + parallel:
>> + matrix:
>> + - ARCH: amd64
>> +
>> +
>> # ------------------------------------------------------------------------------
>> # Lint stage - Run checkstyle.py and check merge suitability
>> # ------------------------------------------------------------------------------
>
More information about the libcamera-devel
mailing list