On Tue, Sep 27, 2022 at 11:44:45AM -0400, Stefan Hajnoczi wrote: > On Tue, 27 Sept 2022 at 05:02, Thomas Huth <th...@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 :|