[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    Re: How to get dependencies into freebsd ci?
From:       Ben Cooksley <bcooksley () kde ! org>
Date:       2023-09-16 19:58:22
Message-ID: CA+XidOGE0GF4XZghkXoEPBNLeJws885MFDJFaXs5y02n5Gf7Xw () mail ! gmail ! com
[Download RAW message or body]

On Sun, Sep 17, 2023 at 3:16 AM Milian Wolff <mail@milianw.de> wrote:

> Hey all,
>

Hi Milian,


>
> While looking at the kate CI setup, I saw that it gets build on freebsd. I
> would like to get that coverage too for heaptrack, but when I try to add
>
> https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/
> freebsd.yml
>
> Then heaptrack fails to find the elfutils dependency. This works on linux,
> but
> I have zero clue how that is done.
>
> Can I add dependencies covered by `craft` to `.kde-ci.yml`?


Dependencies are managed in different ways depending on the platform in
question.

For Linux, Android and Windows builds, this starts with a Docker image that
can be found at https://invent.kde.org/sysadmin/ci-images
You can have dependencies added to those by filing a merge request against
that repository.

As you'll see, in the case of Linux we source just about everything from
the distro package manager (in our case, it's SUSE Tumbleweed).
For Android and Windows, the majority of the dependencies come from Craft.

FreeBSD is the exception to all of this, as those builders are fixed
permanent machines rather than ephemeral containers that are only around
for a single build.
For these, please file a Sysadmin ticket.


>
>
> Where can I find documentation on what to put in there? Furthermore, is
> there
> some best practices when it comes to CI configuration for KDE projects? By
> chance I found https://community.kde.org/Infrastructure/GitLab/CI/
> Static_Code_Analysis which is interesting - is there more like it
> somewhere?
>

I'm afraid we've not done a terribly good job at documenting things,
however if you are using the templates available at
https://invent.kde.org/sysadmin/ci-utilities/-/tree/master/gitlab-templates
then i'd refer you to
https://invent.kde.org/sysadmin/ci-utilities/-/blob/master/config-template.yml?ref_type=heads
for the options that the system supports. Note that these aren't used by
the craft-* or flatpak templates as those are CD jobs rather than CI jobs.

The Static Code Analysis job referred to there is based on legacy Jenkins
infrastructure which has been shutdown and it therefore will no longer
function, however the new system provides analysis jobs that work with
cppcheck to provide similar functionality if enabled.

Cheers,
Ben


>
> Thanks
> --
> Milian Wolff
> mail@milianw.de
> http://milianw.de

[Attachment #3 (text/html)]

<div dir="ltr"><div dir="ltr">On Sun, Sep 17, 2023 at 3:16 AM Milian Wolff &lt;<a \
href="mailto:mail@milianw.de">mail@milianw.de</a>&gt; wrote:<br></div><div \
class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hey \
all,<br></blockquote><div><br></div><div>Hi Milian,</div><div>  </div><blockquote \
class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid \
rgb(204,204,204);padding-left:1ex"> <br>
While looking at the kate CI setup, I saw that it gets build on freebsd. I <br>
would like to get that coverage too for heaptrack, but when I try to add<br>
<br>
<a href="https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/" \
rel="noreferrer" target="_blank">https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/</a><br>
 freebsd.yml<br>
<br>
Then heaptrack fails to find the elfutils dependency. This works on linux, but <br>
I have zero clue how that is done.<br>
<br>
Can I add dependencies covered by `craft` to \
`.kde-ci.yml`?</blockquote><div><br></div><div>Dependencies are managed in different \
ways depending on the platform in question.</div><div><br></div><div>For Linux, \
Android and Windows builds, this starts with a Docker image that can be found at <a \
href="https://invent.kde.org/sysadmin/ci-images">https://invent.kde.org/sysadmin/ci-images</a></div><div>You \
can have dependencies added to those by filing a merge request against that \
repository.</div><div><br></div><div>As you&#39;ll see, in the case of Linux we \
source just about everything from the distro package manager (in our case, it&#39;s \
SUSE Tumbleweed).</div><div>For Android and Windows, the majority of the dependencies \
come from Craft.</div><div><br></div><div>FreeBSD is the exception to all of this, as \
those builders are fixed permanent machines rather than ephemeral containers that are \
only around for a single build.</div><div>For these, please file a Sysadmin \
ticket.</div><div>  </div><blockquote class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> <br> <br>
Where can I find documentation on what to put in there? Furthermore, is there <br>
some best practices when it comes to CI configuration for KDE projects? By <br>
chance I found <a href="https://community.kde.org/Infrastructure/GitLab/CI/" \
rel="noreferrer" target="_blank">https://community.kde.org/Infrastructure/GitLab/CI/</a><br>
 Static_Code_Analysis which is interesting - is there more like it \
somewhere?<br></blockquote><div><br></div><div>I&#39;m afraid we&#39;ve not done a \
terribly good job at documenting things, however if you are using the templates \
available at  <a href="https://invent.kde.org/sysadmin/ci-utilities/-/tree/master/gitl \
ab-templates">https://invent.kde.org/sysadmin/ci-utilities/-/tree/master/gitlab-templates</a> \
then i&#39;d refer you to  <a \
href="https://invent.kde.org/sysadmin/ci-utilities/-/blob/master/config-template.yml?r \
ef_type=heads">https://invent.kde.org/sysadmin/ci-utilities/-/blob/master/config-template.yml?ref_type=heads</a> \
for the options that the system supports. Note that these aren&#39;t used by the \
craft-* or flatpak templates as those are CD jobs rather than CI \
jobs.</div><div><br></div><div>The Static Code Analysis job referred to there is \
based on legacy Jenkins infrastructure which has been shutdown and it therefore will \
no longer function, however the new system provides analysis jobs that work with \
cppcheck to provide similar functionality if \
enabled.</div><div><br></div><div>Cheers,</div><div>Ben</div><div>  </div><blockquote \
class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid \
rgb(204,204,204);padding-left:1ex"> <br>
Thanks<br>
-- <br>
Milian Wolff<br>
<a href="mailto:mail@milianw.de" target="_blank">mail@milianw.de</a><br>
<a href="http://milianw.de" rel="noreferrer" \
target="_blank">http://milianw.de</a></blockquote></div></div>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic