Skip to content

Commit 104a53e

Browse files
authored
fix(bazel): don't give absolute path for images (#347)
* fix(bazel): don't give absolute path for images This causes us to hit #183 in most cases. See https://buildkite.com/bazel/bcr-presubmit/builds/1247#0187e4cc-44e1-4e21-89a7-08e71f612bfc as an example. We'll need to fix this in order to properly support Windows, but that is already broken for other reasons. * fix: restore an argument which was lost See bazel-contrib/rules_oci@614eb02#diff-05ca379f64e0094d8769326c0c6f3b42652556d4dd9dc35e117bcaf79bb936bfL35
1 parent 4549390 commit 104a53e

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

bazel/container_structure_test.bzl

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,30 +26,30 @@ CMD = """\
2626
2727
readonly st=$(rlocation {st_path})
2828
readonly yq=$(rlocation {yq_path})
29-
readonly image=$(rlocation {image_path})
3029
3130
# When the image points to a folder, we can read the index.json file inside
32-
if [[ -d "$image" ]]; then
33-
readonly DIGEST=$("$yq" eval '.manifests[0].digest | sub(":"; "-")' "${{image}}/index.json")
31+
if [[ -d "{image_path}" ]]; then
32+
readonly DIGEST=$("$yq" eval '.manifests[0].digest | sub(":"; "-")' "{image_path}/index.json")
33+
exec "$st" test {fixed_args} --default-image-tag "registry.structure_test.oci.local/image:$DIGEST" $@
34+
else
35+
exec "$st" test {fixed_args} $@
3436
fi
35-
36-
exec "$st" test {fixed_args} $@
3737
"""
3838

3939
def _structure_test_impl(ctx):
4040
fixed_args = ["--driver", ctx.attr.driver]
4141
test_bin = ctx.toolchains["@container_structure_test//bazel:structure_test_toolchain_type"].st_info.binary
4242
yq_bin = ctx.toolchains["@aspect_bazel_lib//lib:yq_toolchain_type"].yqinfo.bin
4343

44-
image_path = to_rlocation_path(ctx, ctx.file.image)
44+
image_path = ctx.file.image.short_path
4545
# Prefer to use a tarball if we are given one, as it works with more 'driver' types.
4646
if image_path.endswith(".tar"):
47-
fixed_args.extend(["--image", "$(rlocation %s)" % image_path])
47+
fixed_args.extend(["--image", image_path])
4848
else:
4949
# https://github.com/GoogleContainerTools/container-structure-test/blob/5e347b66fcd06325e3caac75ef7dc999f1a9b614/cmd/container-structure-test/app/cmd/test.go#L110
5050
if ctx.attr.driver != "docker":
5151
fail("when the 'driver' attribute is not 'docker', then the image must be a .tar file")
52-
fixed_args.extend(["--image-from-oci-layout", "$(rlocation %s)" % image_path])
52+
fixed_args.extend(["--image-from-oci-layout", image_path])
5353
fixed_args.extend(["--default-image-tag", "registry.structure_test.oci.local/image:$DIGEST"])
5454

5555
for arg in ctx.files.configs:

0 commit comments

Comments
 (0)