[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Using Salsa CI with massive source packages



On Friday, April 18, 2025 6:35:54 AM Mountain Standard Time Ahmad 
Khalifa wrote:
> On 09/04/2025 01:27, Soren Stoutner wrote:
> > I am trying to enable Salsa CI for the qt6-webengine package.
> > 
> > The package takes a long time to build, longer than the default
> > Salsa CI runner timeout of 3 hours.  I learned how to work around
> > this with the pyinstaller package by creating my own GitLab
> > Runner running on my hardware, which allowed me to specify any
> > length of job timeout.
> > 
> > But with qt6-webengine, I have run into another problem.  Qt6-
> > webengine has a massive code base (500 GB tarball, 3 TB
> > extracted).
> > This leads to 4.3 G of artifacts that try to upload to Salsa after
> > extracting the source.  Which fails because it is larger than
> > Salsa’s 750 MiB limit.
> 
> The 750MiB is warning in the extract-source [1] recipe itself [2].
> The failure is a timeout that comes later, likely due to the working
> dir being 4.3 GB.
> 
> Setting the variable 'SALSA_CI_MAX_ARTIFACTS_SIZE' may remove the
> warning for you, but it will probably still timeout.
> 
> At this massive size, you probably want to exclude the extracted
> source from being uploaded as artifacts, so perhaps override the
> recipe and exclude all paths except log file? [3]
> 
> I don't know too well how extending works in the recipes, so I would
> play around with a new recipe 'qt6we-extract-source' and put all of
> 'provisioning-extract-source' in it, but remove the 'artifacts'
> being uploaded due to this bit...
> 
> > .provisioning-extract-source: &provisioning-extract-source
> 
> [...]
> 
> >   extends:
> >     - .artifacts-default-expire  <---- REMOVE ME
> 
> [...]
> 
> If that works, then I'd read up on extending and try to override
> 'artifacts-default-expire' on all recipes.

I might play around with that a bit.  I think the builds reuse the 
extracted source artifact.  Perhaps what I do is rewrite the build to 
be the full pipeline.  So, for the build, it extracts the source and 
runs the build.


-- 
Soren Stoutner
soren@debian.org

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: