qemu-devel
[Top][All Lists]
Advanced

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

Re: Should we maybe move Cirrus-CI jobs away from Gitlab again?


From: Daniel P . Berrangé
Subject: Re: Should we maybe move Cirrus-CI jobs away from Gitlab again?
Date: Tue, 27 Sep 2022 16:54:09 +0100
User-agent: Mutt/2.2.6 (2022-06-05)

On Tue, Sep 27, 2022 at 11:44:45AM -0400, Stefan Hajnoczi wrote:
> On Tue, 27 Sept 2022 at 05:02, Thomas Huth <thuth@redhat.com> wrote:
> > now that Gitlab is giving us pressure on the amount of free CI minutes, I
> > wonder whether we should maybe move the Cirrus-CI jobs out of the gitlab-CI
> > dashboard again? We could add the jobs to our .cirrus-ci.yml file instead,
> > like we did it in former times...
> >
> > Big advantage would be of course that the time for those jobs would not
> > count in the Gitlab-CI minutes anymore. Disadvantage is of course that they
> > do not show up in the gitlab-CI dashboard anymore, so there is no more
> > e-mail notification about failed jobs, and you have to push to github, too,
> > and finally check the results manually on cirrus-ci.com ...
> 
> My understanding is that .gitlab-ci.d/cirrus.yml uses a GitLab CI job
> to run the cirrus-run container image that forwards jobs to Cirrus-CI.
> So GitLab CI resources are consumed waiting for Cirrus-CI to finish.
> 
> This shouldn't affect gitlab.com/qemu-project where there are private
> runners that do not consume GitLab CI minutes.
> 
> Individual developers are affected though because they most likely
> rely on the GitLab shared runner minutes quota.

NB, none of the jobs should ever be run automatically anymore in
QEMU CI pipelines. It always requires the maintainer to set the
env var when pushing to git, to explicitly create a pipeline.
You can then selectively start each individual job as desired.

While the Cirrus CI minutes burn is undesirable, it is not
inherantly worse than the CI minutes burn from all the other
build jobs. Contributors unforunately just need to be aware
of this and be more selective in running jobs.

If QEMU does eventually join the OSS program, then I believe
forks of QEMU will get an elevate CI allowance.

> 
> Does GitLab CI support some kind of async job so a container doesn't
> have to monitor Cirrus-CI for the duration of the tests? I guess it
> would require a job like the cirrus-run job, except a webhook signals
> completion and therefore the GitLab CI container doesn't need to wait
> around.

No, this consumption of GitLab CI minutes is an inherant limitation
of using the cirrus-run hack.  The real solution would be native
GItLab support for Cirrus CI. This would have Cirrus CI listening
for git changes, triggers the pipeline itself, and then reports
them back as a fake GitLab CI pipeline job. This is what Travis
is able todo these days, and the recommended way for external CI
systems to integrate.  No ETA on when Cirrus may support this.

https://github.com/cirruslabs/cirrus-ci-docs/issues/10


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




reply via email to

[Prev in Thread] Current Thread [Next in Thread]