Fix pin images task with atmosphere_image_prefix
This change also includes a skip for running jobs when any changes
in the `build` folder are done.
Change-Id: I632a2d71beb4227f9067ed936550a714df269232
diff --git a/build/pin-images.py b/build/pin-images.py
index f711f84..30700c3 100755
--- a/build/pin-images.py
+++ b/build/pin-images.py
@@ -61,6 +61,8 @@
@functools.cache
def get_pinned_image(image_src):
image_ref = reference.Reference.parse(image_src)
+ if image_ref.domain() != "harbor.atmosphere.dev":
+ image_ref = reference.Reference.parse("harbor.atmosphere.dev/" + image_src)
if (
image_ref.domain() == "registry.atmosphere.dev"
@@ -127,7 +129,10 @@
else:
digest = get_digest(image_ref)
- return f"{image_ref.domain()}/{image_ref.path()}:{image_ref['tag']}@{digest}"
+ original_ref = reference.Reference.parse(image_src)
+ return (
+ f"{original_ref.domain()}/{original_ref.path()}:{original_ref['tag']}@{digest}"
+ )
def main():
@@ -156,7 +161,9 @@
.replace("{{ atmosphere_release }}", data["atmosphere_release"])
.replace("{{ atmosphere_image_prefix }}", "")
)
- pinned_image = get_pinned_image(image_src)
+ pinned_image = get_pinned_image(image_src).replace(
+ "harbor.atmosphere.dev", "registry.atmosphere.dev"
+ )
LOG.info("Pinning image %s from %s to %s", image, image_src, pinned_image)
data["_atmosphere_images"][image] = "{{ atmosphere_image_prefix }}%s" % (
diff --git a/releasenotes/notes/fix-pin-images-473f8e1cf4a81afc.yaml b/releasenotes/notes/fix-pin-images-473f8e1cf4a81afc.yaml
new file mode 100644
index 0000000..d3dc373
--- /dev/null
+++ b/releasenotes/notes/fix-pin-images-473f8e1cf4a81afc.yaml
@@ -0,0 +1,5 @@
+---
+fixes:
+ - The CI tooling for pinning images has been fixed to properly work after a
+ regression caused by the introduction of the ``atmosphere_image_prefix``
+ variable.
diff --git a/zuul.d/container-images/base.yaml b/zuul.d/container-images/base.yaml
index 0be248f..5be0310 100644
--- a/zuul.d/container-images/base.yaml
+++ b/zuul.d/container-images/base.yaml
@@ -24,6 +24,7 @@
name: atmosphere-buildset-registry
parent: ci-buildset-registry
irrelevant-files:
+ - ^build/
- ^doc/
- ^releasenotes/
@@ -32,6 +33,7 @@
parent: ci-build-container-image
abstract: true
irrelevant-files:
+ - ^build/
- ^doc/
- ^releasenotes/
vars: &image_vars
@@ -47,6 +49,7 @@
name: atmosphere-promote-container-image
parent: ci-promote-container-image
irrelevant-files:
+ - ^build/
- ^doc/
- ^releasenotes/
nodeset:
diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml
index 9e9da00..ce8ba97 100644
--- a/zuul.d/jobs.yaml
+++ b/zuul.d/jobs.yaml
@@ -71,6 +71,7 @@
run: zuul.d/playbooks/molecule/run.yml
post-run: zuul.d/playbooks/molecule/post.yml
irrelevant-files:
+ - ^build/
- ^doc/
- ^releasenotes/
vars: