qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Philippe Mathieu-Daudé" <philmd@redhat.com>,
	"Thomas Huth" <thuth@redhat.com>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	"Wainer dos Santos Moschetta" <wainersm@redhat.com>
Subject: Re: [PATCH v2 0/3] fix build failures from incorrectly skipped container build jobs
Date: Wed, 24 Feb 2021 11:57:12 +0000	[thread overview]
Message-ID: <YDY/GK9TWgCEnqOD@redhat.com> (raw)
In-Reply-To: <20210216132954.295906-1-berrange@redhat.com>

ping - can we get this series merged so we reduce the chances of
stale container images for people working across multiple branches

On Tue, Feb 16, 2021 at 01:29:51PM +0000, Daniel P. Berrangé wrote:
> This series fixes a problem with our gitlab CI rules that cause
> container builds to be skipped. See the commit description in the
> first patch for the details on this problem.
> 
> The overall result of this series though is a small increase in overall
> pipeline time.
> 
> Previously
> 
>  - When container jobs are skipped: approx 1hr 5 mins
>  - When container jobs are run, cached by docker: approx 1hr 15 mins
>  - When container jobs are run, not cached by docker: approx 1hr 30 mins
> 
> With this series applied the first scenario no longer exists, so
> all piplines are either 1hr 15 or 1hr 30 depending on whether the
> container phase is skipped.
> 
> On the plus side the builds are more reliable as we're actually
> building container images at correct times.
> 
> There is still a race condition though where build jobs can run
> with the wrong containers. This happens if you push two different
> branches to gitlab with different docker file content. If the
> container jobs for the 2nd branch finish before the 1st
> branch runs its build jobs, the 1st branch can end up using
> containers fro the second branch.  The only fix to truely fix
> that would be to stop using "latest" docker tag and always
> use a tag based on the branch name. This would mean we build
> up a growing set of docker images in the gitlab registry.
> 
> At least this series is much more correct that what exists in
> git currently. I'm intending to continue to investigate a solution
> for the remaining race condition, but don't want to block this
> series from merging, since this already solves the problem for the
> majority of contributors' usage.
> 
> Changed in v2:
> 
>  - Set needs rules for cross jobs too
> 
> Daniel P. Berrangé (3):
>   gitlab: always build container images
>   gitlab: add fine grained job deps for all build jobs
>   gitlab: fix inconsistent indentation
> 
>  .gitlab-ci.d/containers.yml  |  7 ----
>  .gitlab-ci.d/crossbuilds.yml | 46 ++++++++++++++++++++++
>  .gitlab-ci.yml               | 74 ++++++++++++++++++++++++++++++++----
>  3 files changed, 112 insertions(+), 15 deletions(-)
> 
> -- 
> 2.29.2
> 

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 :|



  parent reply	other threads:[~2021-02-24 11:58 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-16 13:29 [PATCH v2 0/3] fix build failures from incorrectly skipped container build jobs Daniel P. Berrangé
2021-02-16 13:29 ` [PATCH v2 1/3] gitlab: always build container images Daniel P. Berrangé
2021-02-16 13:29 ` [PATCH v2 2/3] gitlab: add fine grained job deps for all build jobs Daniel P. Berrangé
2021-02-16 13:33   ` Philippe Mathieu-Daudé
2021-02-16 13:29 ` [PATCH v2 3/3] gitlab: fix inconsistent indentation Daniel P. Berrangé
2021-02-24 11:57 ` Daniel P. Berrangé [this message]
2021-02-24 12:45   ` [PATCH v2 0/3] fix build failures from incorrectly skipped container build jobs Thomas Huth
2021-02-24 12:47     ` Daniel P. Berrangé

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YDY/GK9TWgCEnqOD@redhat.com \
    --to=berrange@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=philmd@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=thuth@redhat.com \
    --cc=wainersm@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).