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
(cherry picked from commit f6e53de13321bbc425813a5fcb934fb954d8ec66)
diff --git a/build/pin-images.py b/build/pin-images.py
index f7485da..b5e1ada 100755
--- a/build/pin-images.py
+++ b/build/pin-images.py
@@ -64,6 +64,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"
@@ -130,7 +132,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():
@@ -157,7 +162,9 @@
         image_src = data["_atmosphere_images"][image].replace(
             "{{ atmosphere_release }}", data["atmosphere_release"]
         )
-        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] = pinned_image
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 ae2991e..988a2a9 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
@@ -56,6 +58,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 5f27567..e2d996c 100644
--- a/zuul.d/jobs.yaml
+++ b/zuul.d/jobs.yaml
@@ -73,6 +73,7 @@
     run: zuul.d/playbooks/molecule/run.yml
     post-run: zuul.d/playbooks/molecule/post.yml
     irrelevant-files:
+      - ^build/
       - ^doc/
       - ^releasenotes/