Publish {rules_img,rules_img_tool}@0.2.4 (#6039)

Release: https://github.com/tweag/rules_img/releases/tag/v0.2.4
diff --git a/modules/rules_img/0.2.4/MODULE.bazel b/modules/rules_img/0.2.4/MODULE.bazel
new file mode 100644
index 0000000..66a46b8
--- /dev/null
+++ b/modules/rules_img/0.2.4/MODULE.bazel
@@ -0,0 +1,92 @@
+module(
+    name = "rules_img",
+    version = "0.2.4",
+    compatibility_level = 1,
+)
+
+bazel_dep(name = "bazel_skylib", version = "1.7.1")
+bazel_dep(name = "platforms", version = "0.0.11")
+
+prebuilt_img_tool = use_extension("@rules_img//img/private/prebuilt:prebuilt.bzl", "prebuilt_img_tool")
+prebuilt_img_tool.collection(
+    name = "img_toolchain",
+)
+prebuilt_img_tool.from_file(
+    collection = "img_toolchain",
+    file = "@rules_img//:prebuilt_lockfile.json",
+)
+use_repo(
+    prebuilt_img_tool,
+    "img_toolchain",
+)
+
+# register a prebuilt toolchain of the img tool.
+register_toolchains(
+    "@img_toolchain//:all",
+)
+
+# ✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂
+# only dev_dependencies below this line - rules_img is lean
+# ✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂✂
+
+bazel_dep(name = "aspect_bazel_lib", version = "2.20.0", dev_dependency = True)
+bazel_dep(name = "bazel_skylib_gazelle_plugin", version = "1.7.1", dev_dependency = True)
+bazel_dep(name = "buildifier_prebuilt", version = "8.2.0.2", dev_dependency = True)
+bazel_dep(name = "gazelle", version = "0.45.0", dev_dependency = True)
+bazel_dep(name = "hermetic_cc_toolchain", version = "4.0.1", dev_dependency = True)
+bazel_dep(name = "rules_bazel_integration_test", version = "0.33.2", dev_dependency = True)
+bazel_dep(name = "rules_go", version = "0.54.0", dev_dependency = True)
+bazel_dep(name = "rules_img_tool", version = "0.2.4", dev_dependency = True)
+bazel_dep(name = "rules_pkg", version = "1.1.0", dev_dependency = True)
+bazel_dep(name = "rules_python", version = "1.6.1", dev_dependency = True)
+
+# Register a source-built toolchain of the img tool
+# for use in this repository (in dev mode).
+register_toolchains(
+    "@rules_img_tool//toolchain:all",
+    dev_dependency = True,
+)
+
+module_version = use_extension("//img/private/config:defs.bzl", "module_version", dev_dependency = True)
+use_repo(module_version, "rules_img_version")
+
+bazel_binaries = use_extension(
+    "@rules_bazel_integration_test//:extensions.bzl",
+    "bazel_binaries",
+    dev_dependency = True,
+)
+bazel_binaries.download(version = "7.4.0")
+bazel_binaries.download(version = "8.4.1")
+use_repo(bazel_binaries, "bazel_binaries", "bazel_binaries_bazelisk", "build_bazel_bazel_7_4_0", "build_bazel_bazel_8_4_1")
+
+go_sdk = use_extension(
+    "@rules_go//go:extensions.bzl",
+    "go_sdk",
+    dev_dependency = True,
+)
+go_sdk.download(version = "1.24.2")
+
+toolchains = use_extension("@hermetic_cc_toolchain//toolchain:ext.bzl", "toolchains", dev_dependency = True)
+use_repo(toolchains, "zig_sdk")
+
+register_toolchains(
+    "@zig_sdk//toolchain:linux_amd64_musl",
+    "@zig_sdk//toolchain:linux_arm64_musl",
+    dev_dependency = True,
+)
+
+http_file = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file")
+
+http_file(
+    name = "large_file_1GB",
+    dev_dependency = True,
+    integrity = "sha256-n9ndX1LfKXTrcnPBT8Kqa85x87TcH3BOaHWoeuJ+kKA=",
+    urls = ["https://ash-speed.hetzner.com/1GB.bin"],
+)
+
+http_file(
+    name = "large_file_10GB",
+    dev_dependency = True,
+    integrity = "sha256-Vc5IJJOis3bBooauVUOr77JwiZLHC3lA9dbAjMZvNFw=",
+    urls = ["https://ash-speed.hetzner.com/10GB.bin"],
+)
diff --git a/modules/rules_img/0.2.4/attestations.json b/modules/rules_img/0.2.4/attestations.json
new file mode 100644
index 0000000..493fafd
--- /dev/null
+++ b/modules/rules_img/0.2.4/attestations.json
@@ -0,0 +1,17 @@
+{
+    "mediaType": "application/vnd.build.bazel.registry.attestation+json;version=1.0.0",
+    "attestations": {
+        "source.json": {
+            "url": "https://github.com/tweag/rules_img/releases/download/v0.2.4/rules_img.source.json.intoto.jsonl",
+            "integrity": "sha256-dI0hyYFwSZGM/c4FucZFA2Gs1sEkDAucsUw3nm2L9ME="
+        },
+        "MODULE.bazel": {
+            "url": "https://github.com/tweag/rules_img/releases/download/v0.2.4/rules_img.MODULE.bazel.intoto.jsonl",
+            "integrity": "sha256-kFpWfR0/Md3pIMgkOasrL7Ct/4omj33Fr9E5F+V9rZg="
+        },
+        "rules_img-v0.2.4.tar.gz": {
+            "url": "https://github.com/tweag/rules_img/releases/download/v0.2.4/rules_img-v0.2.4.tar.gz.intoto.jsonl",
+            "integrity": "sha256-2VIAg5EqPOu0aZpz2cOhWa/8MyJ3j6AhbQAs0CgDxms="
+        }
+    }
+}
diff --git a/modules/rules_img/0.2.4/presubmit.yml b/modules/rules_img/0.2.4/presubmit.yml
new file mode 100644
index 0000000..f8e9a39
--- /dev/null
+++ b/modules/rules_img/0.2.4/presubmit.yml
@@ -0,0 +1,12 @@
+bcr_test_module:
+  module_path: "."
+  matrix:
+    platform: ["debian10", "ubuntu2004", "macos", "macos_arm64", "windows", "windows_arm64"]
+    bazel: [7.x, 8.x]
+  tasks:
+    run_tests:
+      name: "Run test module"
+      platform: ${{ platform }}
+      bazel: ${{ bazel }}
+      build_targets:
+        - "//..."
diff --git a/modules/rules_img/0.2.4/source.json b/modules/rules_img/0.2.4/source.json
new file mode 100644
index 0000000..4303115
--- /dev/null
+++ b/modules/rules_img/0.2.4/source.json
@@ -0,0 +1,4 @@
+{
+    "integrity": "sha256-cuKu9dJsVwi+sKnAHSTztVi1L3V4UKFLxbjNZxwA/7U=",
+    "url": "https://github.com/tweag/rules_img/releases/download/v0.2.4/rules_img-v0.2.4.tar.gz"
+}
diff --git a/modules/rules_img/metadata.json b/modules/rules_img/metadata.json
index 7afd929..ff13fb4 100644
--- a/modules/rules_img/metadata.json
+++ b/modules/rules_img/metadata.json
@@ -19,7 +19,8 @@
         "0.2.0",
         "0.2.1",
         "0.2.2",
-        "0.2.3"
+        "0.2.3",
+        "0.2.4"
     ],
     "yanked_versions": {}
 }
diff --git a/modules/rules_img_tool/0.2.4/MODULE.bazel b/modules/rules_img_tool/0.2.4/MODULE.bazel
new file mode 100644
index 0000000..1443afb
--- /dev/null
+++ b/modules/rules_img_tool/0.2.4/MODULE.bazel
@@ -0,0 +1,22 @@
+module(
+    name = "rules_img_tool",
+    version = "0.2.4",
+    compatibility_level = 1,
+)
+
+bazel_dep(name = "rules_img", version = "0.2.4")
+bazel_dep(name = "bazel_skylib", version = "1.7.1")
+bazel_dep(name = "gazelle", version = "0.45.0")
+bazel_dep(name = "googleapis", version = "0.0.0-20240819-fe8ba054a")
+bazel_dep(name = "protobuf", version = "29.0")
+bazel_dep(name = "rules_go", version = "0.54.0")
+bazel_dep(name = "rules_proto", version = "7.0.2")
+
+go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk")
+go_sdk.from_file(
+    go_mod = "//:go.mod",
+)
+
+go_deps = use_extension("@gazelle//:extensions.bzl", "go_deps")
+go_deps.from_file(go_mod = "//:go.mod")
+use_repo(go_deps, "com_github_aws_aws_sdk_go_v2", "com_github_aws_aws_sdk_go_v2_config", "com_github_aws_aws_sdk_go_v2_service_s3", "com_github_containerd_containerd_api", "com_github_containerd_stargz_snapshotter_estargz", "com_github_google_uuid", "com_github_klauspost_compress", "com_github_klauspost_pgzip", "com_github_malt3_go_containerregistry", "com_github_opencontainers_go_digest", "com_github_opencontainers_image_spec", "com_google_cloud_go_longrunning", "org_golang_google_genproto_googleapis_api", "org_golang_google_genproto_googleapis_bytestream", "org_golang_google_genproto_googleapis_rpc", "org_golang_google_grpc", "org_golang_google_protobuf", "org_golang_x_sync")
diff --git a/modules/rules_img_tool/0.2.4/attestations.json b/modules/rules_img_tool/0.2.4/attestations.json
new file mode 100644
index 0000000..9bb9233
--- /dev/null
+++ b/modules/rules_img_tool/0.2.4/attestations.json
@@ -0,0 +1,17 @@
+{
+    "mediaType": "application/vnd.build.bazel.registry.attestation+json;version=1.0.0",
+    "attestations": {
+        "source.json": {
+            "url": "https://github.com/tweag/rules_img/releases/download/v0.2.4/rules_img_tool.source.json.intoto.jsonl",
+            "integrity": "sha256-bRS8dqBJWPbIeoqL27jCJO936N5cLaZzpJLcVCYceDQ="
+        },
+        "MODULE.bazel": {
+            "url": "https://github.com/tweag/rules_img/releases/download/v0.2.4/rules_img_tool.MODULE.bazel.intoto.jsonl",
+            "integrity": "sha256-2zKRMhKtFLOv5H1J7At1oUu7ndKhYpu6HRgaIbgdwsg="
+        },
+        "rules_img_tool-v0.2.4.tar.gz": {
+            "url": "https://github.com/tweag/rules_img/releases/download/v0.2.4/rules_img_tool-v0.2.4.tar.gz.intoto.jsonl",
+            "integrity": "sha256-2VIAg5EqPOu0aZpz2cOhWa/8MyJ3j6AhbQAs0CgDxms="
+        }
+    }
+}
diff --git a/modules/rules_img_tool/0.2.4/presubmit.yml b/modules/rules_img_tool/0.2.4/presubmit.yml
new file mode 100644
index 0000000..0965106
--- /dev/null
+++ b/modules/rules_img_tool/0.2.4/presubmit.yml
@@ -0,0 +1,14 @@
+bcr_test_module:
+  module_path: "."
+  matrix:
+    platform: ["debian10", "ubuntu2004", "macos", "macos_arm64", "windows", "windows_arm64"]
+    bazel: [7.x, 8.x]
+  tasks:
+    run_tests:
+      name: "Run test module"
+      platform: ${{ platform }}
+      bazel: ${{ bazel }}
+      build_targets:
+        - "//..."
+      test_targets:
+        - "//..."
diff --git a/modules/rules_img_tool/0.2.4/source.json b/modules/rules_img_tool/0.2.4/source.json
new file mode 100644
index 0000000..48c51f4
--- /dev/null
+++ b/modules/rules_img_tool/0.2.4/source.json
@@ -0,0 +1,4 @@
+{
+    "integrity": "sha256-4TAaRDlZyTqmQP+PD/08WdNQ53l4bKh8a98Rb1ZLP/Y=",
+    "url": "https://github.com/tweag/rules_img/releases/download/v0.2.4/rules_img_tool-v0.2.4.tar.gz"
+}
diff --git a/modules/rules_img_tool/metadata.json b/modules/rules_img_tool/metadata.json
index 6246a55..cfd5518 100644
--- a/modules/rules_img_tool/metadata.json
+++ b/modules/rules_img_tool/metadata.json
@@ -16,7 +16,8 @@
         "0.2.0",
         "0.2.1",
         "0.2.2",
-        "0.2.3"
+        "0.2.3",
+        "0.2.4"
     ],
     "yanked_versions": {}
 }