GDC CI

wjoe invalid at example.com
Tue Sep 8 16:44:39 UTC 2020


On Tuesday, 8 September 2020 at 14:18:10 UTC, Iain Buclaw wrote:
> On Tuesday, 8 September 2020 at 13:50:26 UTC, wjoe wrote:
>> On Monday, 7 September 2020 at 10:41:50 UTC, wjoe wrote:
>>>
>>> Options I can think of are:
>>> A) A Dockerfile for each case in (1.,) 2. and 3., or
>>> B) A docker container which provides the environment to build 
>>> GCC and a (Cirrus) CI config which defines the tasks to cover 
>>> (1.,) 2. and 3.
>>
>>
>> Small update.
>> Option A) isn't possible with Cirrus CI because the check-out 
>> phase takes about 54 minutes on average and building the 
>> container about 6 minutes.
>> Then the task is terminated on the 60 minutes mark (the 
>> default timeout) before it even starts the GCC configuration 
>> phase.
>>
>> The environment is 4GB RAM and dual CPU with 16 threads.
>
> It is just doing a plain git clone?  Can you control whether 
> checkout is done using --single-branch or --depth?

This update was about a build via the zero configuration feature 
by just providing a Dockerfile.
Just to see if it works but it didn't.
I didn't find a git clone command in the log so I couldn't really 
tell.

A lot of things, such as RAM, timeout, custom git checkouts, 
custom command to build a docker container, environment 
variables, etc., can be configured in a cirrus configuration file.
So what I'm doing now is making a .cirrus.yml with a custom 
checkout, a shallow clone with --depth=1 of the master-ci branch 
should do the trick, using the container I made for building gcc.
Then I'll adapt the build-ci script for use with Cirrus-CI.
E.g. the dependency installation for instance isn't necessary by 
using a container that already provides all those.

I'm not sure if Johannes was referring to that script being a bad 
idea in hindsight. If so it's not a problem to define the 
necessary steps in the cirrus config.


More information about the D.gnu mailing list