From f72a8fcfe53382f11a84a672c4d83e09998582a4 Mon Sep 17 00:00:00 2001 From: Timothée Ravier Date: Jun 21 2024 10:25:46 +0000 Subject: [PATCH 1/2] justfile: Factor skopeo args for container image upload --- diff --git a/justfile b/justfile index f3d60eb..baf85ce 100644 --- a/justfile +++ b/justfile @@ -391,19 +391,29 @@ upload-container variant=default_variant: git_commit="$(git rev-parse --short HEAD)" fi + # Login to the registry skopeo login --username "${CI_REGISTRY_USER}" --password "${CI_REGISTRY_PASSWORD}" quay.io # Copy to the new names image="quay.io/fedora-ostree-desktops/${variant}" + SKOPEO_ARGS="--retry-times 3" + # Copy fully versioned tag (major version, build date/id, git commit) - skopeo copy --retry-times 3 "oci-archive:${variant}.ociarchive" "docker://${image}:${version}.${buildid}.${git_commit}" + skopeo copy ${SKOPEO_ARGS} \ + "oci-archive:${variant}.ociarchive" \ + "docker://${image}:${version}.${buildid}.${git_commit}" # Update "un-versioned" tag (only major version) - skopeo copy --retry-times 3 "docker://${image}:${version}.${buildid}.${git_commit}" "docker://${image}:${version}" + skopeo copy ${SKOPEO_ARGS} \ + "docker://${image}:${version}.${buildid}.${git_commit}" \ + "docker://${image}:${version}" + if [[ "${variant}" == "kinoite-nightly" ]]; then # Update latest tag for kinoite-nightly only - skopeo copy --retry-times 3 "docker://${image}:${version}.${buildid}.${git_commit}" "docker://${image}:latest" + skopeo copy ${SKOPEO_ARGS} \ + "docker://${image}:${version}.${buildid}.${git_commit}" \ + "docker://${image}:latest" fi # Copy to legacy names if needed @@ -413,8 +423,12 @@ upload-container variant=default_variant: image="quay.io/fedora-ostree-desktops/${variant_legacy}" # Copy fully versioned tag (major version, build date/id, git commit) - skopeo copy --retry-times 3 "oci-archive:${variant}.ociarchive" "docker://${image}:${version}.${buildid}.${git_commit}" + skopeo copy ${SKOPEO_ARGS} \ + "oci-archive:${variant}.ociarchive" \ + "docker://${image}:${version}.${buildid}.${git_commit}" # Update "un-versioned" tag (only major version) - skopeo copy --retry-times 3 "docker://${image}:${version}.${buildid}.${git_commit}" "docker://${image}:${version}" + skopeo copy ${SKOPEO_ARGS} \ + "docker://${image}:${version}.${buildid}.${git_commit}" \ + "docker://${image}:${version}" fi From 65ddf54fd836df4e2a4924b964edb47dad9f5bed Mon Sep 17 00:00:00 2001 From: Timothée Ravier Date: Jun 21 2024 10:33:26 +0000 Subject: [PATCH 2/2] justfile: Force gzip compression format for images Keep all the containers image compressed with gzip until rpm-ostree with support for zstd & ztd::chunked images (2024.6) lands in F40 & F39. See: https://fedoraproject.org/wiki/Changes/zstd:chunked --- diff --git a/justfile b/justfile index baf85ce..94c3531 100644 --- a/justfile +++ b/justfile @@ -397,7 +397,8 @@ upload-container variant=default_variant: # Copy to the new names image="quay.io/fedora-ostree-desktops/${variant}" - SKOPEO_ARGS="--retry-times 3" + # Use '--dest-compress-format zstd:chunked' only once 41 is released + SKOPEO_ARGS="--retry-times 3 --dest-compress-format gzip" # Copy fully versioned tag (major version, build date/id, git commit) skopeo copy ${SKOPEO_ARGS} \