Add platform

This commit is contained in:
Alex Pyrgiotis 2025-02-06 13:37:12 +02:00
parent c96c0d6eed
commit 3e7b1edc34
No known key found for this signature in database
GPG key ID: B6C15EBA0357C9AA
2 changed files with 16 additions and 3 deletions

View file

@ -114,9 +114,9 @@ def diffoci_download():
DIFFOCI_PATH.chmod(DIFFOCI_PATH.stat().st_mode | stat.S_IEXEC)
def diffoci_diff(source, local_target):
def diffoci_diff(runtime, source, local_target):
"""Diff the source image against the recently built target image using diffoci."""
target = f"podman://{local_target}"
target = f"{runtime}://{local_target}"
try:
return run(
str(DIFFOCI_PATH),
@ -150,12 +150,18 @@ def parse_args():
image_tag = git_determine_tag()
# TODO: Remove the local "podman://" prefix once we have started pushing images to a
# remote.
default_image_name = f"podman://{IMAGE_NAME}:{image_tag}"
default_image_name = f"{IMAGE_NAME}:{image_tag}"
parser = argparse.ArgumentParser(
prog=sys.argv[0],
description="Dev script for verifying container image reproducibility",
)
parser.add_argument(
"--runtime",
choices=["docker", "podman"],
default=CONTAINER_RUNTIME,
help=f"The container runtime for building the image (default: {CONTAINER_RUNTIME})",
)
parser.add_argument(
"--source",
default=default_image_name,

View file

@ -58,6 +58,11 @@ def main():
default=CONTAINER_RUNTIME,
help=f"The container runtime for building the image (default: {CONTAINER_RUNTIME})",
)
parser.add_argument(
"--platform",
default=None,
help=f"The platform for building the image (default: current platform)",
)
parser.add_argument(
"--no-save",
action="store_true",
@ -100,12 +105,14 @@ def main():
# Build the container image, and tag it with the calculated tag
print("Building container image")
cache_args = [] if args.use_cache else ["--no-cache"]
platform_args = [] if not args.platform else ["--platform", args.platform]
subprocess.run(
[
args.runtime,
"build",
BUILD_CONTEXT,
*cache_args,
*platform_args,
"-f",
"Dockerfile",
"--tag",