← Back to team overview

kicad-developers team mailing list archive

Re: Gitlab CI stuff?

 

Cihan,

I have been prototyping a CI environment in my fork here:
https://gitlab.com/imcinerney/kicad/-/tree/im/ci. The times you reported
aren't actually that bad, we just need to run with a timeout of 3 hours (a
full rebuild takes ~2 hours in my tests and a partial build can be as fast
as 45 minutes using CCache). I am getting ready to push this first pass at
CI to the main repo next week (just needs a couple more tweaks), then I
will move onto the periodic CI tasks. Note that I have also built Docker
images that contain all the dependencies we need to compile (the
install_dependencies.sh script is used to install those on the images), so
the CI can then just use our docker images instead of having to constantly
install the dependencies each time (that can take upwards of 10 minutes for
each image).

My plan for the CI is:
* Every merge request gets a compilation run on Fedora 31, which also runs
the tests and reports the errors to the merge request using the JUNIT
result file (along with providing the warnings in the compilation as a
more/less metric)
* Every master push gets a compilation run on Fedora 31
* The master branch is periodically compiled and tested on Ubuntu 18.04
(probably once a day), and we can do this for other linux platforms (such
as Debian) as needed
* The same general system will be configured for 5.1 as well (running a
Fedora 31 compile on push and then a periodic compile on Ubuntu)
* Windows and OSX will be periodic compiles as well (probably once a day),
since we don't have as many build resources with those
* Coverity will run periodically (interval TBD) on the master branch and
push the results up to the Coverity site

My builds have been running with scripting support enabled perfectly fine
on the Fedora 31 container, along with using OCC (since OCE has been
deprecated in Fedora).

-Ian

On Wed, Feb 5, 2020 at 9:58 PM Cihan Mete Bahadır <c.mete.bahadir@xxxxxxxxx>
wrote:

> Hi All,
>
> Yeah it was me in the dinner Simon :). I have started to try few things,
> am still working on it.
> https://gitlab.com/cmbahadir/kicad
>
> My initial intention is to integrate the automated build checks to Gitlab
> CI, currently the status is;
> -- Ubuntu 18.04- too slow currently (~1.5 hour)
> -- Fedora 31- too slow currently (~1.5 hour)
> -- MSYS - not ready yet
> -- MacOS - not ready yet
> -- KICAD_SCRIPTING=OFF (Due to not handled python version dependency.)
> and any other meaningful OS's.
>
> 2. Next thing is to measure and visualize the test coverage before and
> after a PR.
>
> But a question, there is already a separate CI branch where i got and used
> the install-dependencies.sh script, so is there a plan to integrate it to
> Gitlab CI, since i don't want to do something duplicated.
> So please let me know about the CI road map, if there is any.
>
> Cheers
> Mete
>
>
>
>
> Simon Richter <Simon.Richter@xxxxxxxxxx>, 5 Şub 2020 Çar, 20:24 tarihinde
> şunu yazdı:
>
>> Hi,
>>
>> On Wed, Feb 05, 2020 at 10:44:00AM -0600, Adam Wolf wrote:
>>
>> > I want to rekajigger the Wayne and Layne macOS build machines, and
>> > I've had luck with other clients adding mac builders using
>> > gitlab-runner.
>>
>> FWIW, I'd also like to move over at some point, but Gitlab's permission
>> model will not allow runners to be configured by anyone with less than
>> Maintainer status.
>>
>> One of the people who were at the KiCad dinner is a test engineer, it
>> might
>> also be valuable to get him on board here.
>>
>>    Simon
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help   : https://help.launchpad.net/ListHelp
>>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>

Follow ups

References