[libcamera-devel] [PATCH 3/3] ci: gitlab: Provide initial automated testing
Kieran Bingham
kieran.bingham at ideasonboard.com
Mon Jan 20 18:16:57 CET 2020
Hi Laurent,
On 20/01/2020 17:08, Laurent Pinchart wrote:
> Hi Kieran,
>
> Thank you for the patch.
>
> On Mon, Jan 20, 2020 at 12:55:44PM +0000, Kieran Bingham wrote:
>> Integrate compile testing and the ninja test framework.
>> Any unit tests registered with the Meson Build system will automatically
>> be run with 'ninja test'.
>
> I'm not sure when you mean here. The script below doesn't run tests,
> does it ?
Argh, an earlier version of this file did :-)
>> Documentation will be built, and the resulting package will be installed
>> to 'libcamera/package'
>>
>> Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
>>
>> ---
>> v2:
>> - CI: Add Documentation to build artifacts
>> - CI: Convert to alpine image
>> - CI: test install phase
>> ---
>> .gitlab-ci.yml | 18 ++++++++++++++++++
>> 1 file changed, 18 insertions(+)
>> create mode 100644 .gitlab-ci.yml
>>
>> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
>> new file mode 100644
>> index 000000000000..5851af90e22c
>> --- /dev/null
>> +++ b/.gitlab-ci.yml
>> @@ -0,0 +1,18 @@
>> +image: alpine:edge
>
> Any specific reason for this choice ? I suppose it's fine to start with,
> and we can then extend to more distributions.
I chose it (a year ago?) to extend coverage for c-libraries. I (we?)
usually build on a glibc target. The alpine image uses Musl. It's also a
smaller image suitable for containers, so it speeds up the build.
I want the build to extend to multiple distributions, and multiple
toolchains. The pushback I received last time I looked at this stopped
me from continuing this path of development/investigation.
Hopefully we can continue to get some extended build coverage.
>> +
>> +build:
>> + stage: build
>> + before_script:
>> + - apk add --no-cache gcc g++ musl-dev meson py3-yaml py3-sphinx linux-headers pkgconfig eudev eudev-dev
>
> Should we also depend on Qt to test compilation of qcam ?
Yes, we should also build qcam.
I expect this script was created before we had qcam, and I've only
half-maintained it to keep it building what was there.
> Is there an easy way to also test compilation with clang ?
That comes under the category of multiple build matrix support.
>> + script:
>> + - mkdir libcamera && cd libcamera && meson .. && ninja
>
> How about enabling the android and V4L2 compatibility layers ?
Yes, they would be useful too.
Are there external requirements to build the android layer?
>> + - ninja Documentation/linkcheck
>> + - DESTDIR=$PWD/package ninja install
>> + artifacts:
>> + expire_in: 6 hrs
>> + paths:
>> + - libcamera/Documentation/*
>> + - libcamera/src/libcamera/libcamera.so
>> + - libcamera/test/test_init
test/test_init looks like an old artefact that should be removed too.
>> + - libcamera/meson-logs/testlog.txt
>> + - libcamera/package/*
>
--
Regards
--
Kieran
More information about the libcamera-devel
mailing list