On Mon, May 30, 2022 at 09:25:11AM +0200, Martin Kletzander wrote:
On Sun, May 29, 2022 at 11:22:05AM +0100, Richard W.M. Jones wrote:
>
> I added this commit and regenerated the CI files:
>
>
https://gitlab.com/nbdkit/libnbd/-/commit/b6a98aacbe22d599f000d4d1c84c270...
>
https://gitlab.com/nbdkit/libnbd/-/commit/2439fd5c7a07b314ce47728c6fbae16...
>
> However apparently gitlab CI cannot create the Fedora 36 & OpenSUSE
> Leap 15.3 containers:
>
>
https://gitlab.com/nbdkit/libnbd/-/jobs/2519037050
>
https://gitlab.com/nbdkit/libnbd/-/jobs/2519037032
>
> with weird errors:
>
> ERROR: Job failed: failed to pull image
"registry.gitlab.com/nbdkit/libnbd/ci-fedora-36:latest" with specified policies
[always]: Error response from daemon: manifest for
registry.gitlab.com/nbdkit/libnbd/ci-fedora-36:latest not found: manifest unknown:
manifest unknown (manager.go:203:0s)
>
> I have no idea what this means. Does something else need to be done
> to create those containers?
>
Looks like the containers were not built. I suspect the following rule:
- if: '$CI_PROJECT_NAMESPACE == "nbdkit" && $CI_PIPELINE_SOURCE
== "push" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
unles CI_DEFAULT_BRANCH is already set. I'm not sure who sets that
(whether this is in the ci/cd settings or part of something else)
because that was added not so long ago and I did not keep up with the
changes. If that is already set, then it might be that you need to push
with an extra variable according to the comment in
/ci/gitlab/container-templates.yml:
Any variable starting with 'CI_' prefix is something defined by
GitLab as standard. Not all variables are defined in all scenarios.
For example merge request related variables aren't defined in pipelines
triggered by branch pushes.
CI_DEFAULT_BRANCH is a variable always defined though, and its defaults
to 'master'.
IOW, this rule means that containers are not rebuilt in context of
the upstream project except on pushes to 'master'.
# - Push to default branch:
# -> rebuild if dockerfile changed, no cache
# - Otherwise
# -> rebuild if LIBVIRT_CI_CONTAINERS=1, no cache,
# to pick up new published distro packages or
# recover from deleted tag
#
# For forks
# - Always rebuild, with cache
#
so you could try pushing such commits with something like:
git push -o ci.variable="LIBVIRT_CI_CONTAINERS=1"
but as I said I did not keep up with these changes and Dan will know for
sure which one is needed.
If you pushed a commit which containers a dockerfile change it should
not have been required to set this variable, but yes, this variable
can force the build if unexpected problems arise.
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 :|