[libcamera-ci] [RFC PATCH v2 3/4] Add `build-package:debug` job

Laurent Pinchart laurent.pinchart at ideasonboard.com
Tue Dec 17 01:06:50 CET 2024


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) ?

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.

> +  parallel:
> +    matrix:
> +      - ARCH: amd64
> +
> +
>  # ------------------------------------------------------------------------------
>  # Lint stage - Run checkstyle.py and check merge suitability
>  # ------------------------------------------------------------------------------

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list