diff --git a/build_sdk_container_image b/build_sdk_container_image index d1e4fce88d..312e4f1667 100755 --- a/build_sdk_container_image +++ b/build_sdk_container_image @@ -231,7 +231,7 @@ for a in all arm64 amd64; do arm64) rmarch="amd64-usr"; rmcross="x86_64-cros-linux-gnu";; amd64) rmarch="arm64-usr"; rmcross="aarch64-cros-linux-gnu";; esac - $docker build -t "$sdk_container_common_registry/flatcar-sdk-${a}:${docker_vernum}" \ + $docker build -t "$sdk_container_common_registry/flatcar-sdk-${a}:${docker_vernum}-${ARCH}" \ --build-arg VERSION="${docker_vernum}" \ --build-arg RMARCH="${rmarch}" \ --build-arg RMCROSS="${rmcross}" \ @@ -245,7 +245,7 @@ done # if ! $keep; then yell "Cleaning up intermediate containers" - $docker rmi flatcar-sdk-build:"${docker_vernum}" - $docker rmi flatcar-sdk-import:"${docker_vernum}" - $docker rmi flatcar-sdk-tarball:"${docker_vernum}" + $docker rmi flatcar-sdk-build:"${docker_vernum}-${ARCH}" + $docker rmi flatcar-sdk-import:"${docker_vernum}-${ARCH}" + $docker rmi flatcar-sdk-tarball:"${docker_vernum}-${ARCH}" fi diff --git a/ci-automation/ci_automation_common.sh b/ci-automation/ci_automation_common.sh index 4f532fbd7e..68fb2aa481 100644 --- a/ci-automation/ci_automation_common.sh +++ b/ci-automation/ci_automation_common.sh @@ -180,6 +180,15 @@ function docker_image_fullname() { } # -- +function get_sdk_arch() { + local arch="$(uname -m)" + case "$arch" in + aarch64) echo "arm64";; + x86_64) echo "amd64";; + *) echo "Unknown arch for sdk: $arch" >&2; return 1;; + esac +} + function docker_image_to_buildcache() { local image="$1" local version="$2" @@ -238,7 +247,11 @@ function docker_image_from_registry_or_buildcache() { fi echo "Falling back to tar ball download..." >&2 - docker_image_from_buildcache "${image}" "${version}" + if docker_image_from_buildcache "${image}" "${version}"; then + return + fi + echo "Final fallback: arch specific container image" >&2 + docker_image_from_buildcache "${image}" "${version}-$(get_sdk_arch)" } # -- diff --git a/ci-automation/sdk_container.sh b/ci-automation/sdk_container.sh index fa77faa356..f9f39c011c 100644 --- a/ci-automation/sdk_container.sh +++ b/ci-automation/sdk_container.sh @@ -72,8 +72,8 @@ function _sdk_container_build_impl() { # push artifacts to build cache local docker_vernum="$(vernum_to_docker_image_version "${vernum}")" - docker_image_to_buildcache "${CONTAINER_REGISTRY}/flatcar-sdk-all" "${docker_vernum}" - docker_image_to_buildcache "${CONTAINER_REGISTRY}/flatcar-sdk-amd64" "${docker_vernum}" - docker_image_to_buildcache "${CONTAINER_REGISTRY}/flatcar-sdk-arm64" "${docker_vernum}" + docker_image_to_buildcache "${CONTAINER_REGISTRY}/flatcar-sdk-all" "${docker_vernum}-${ARCH}" + docker_image_to_buildcache "${CONTAINER_REGISTRY}/flatcar-sdk-amd64" "${docker_vernum}-${ARCH}" + docker_image_to_buildcache "${CONTAINER_REGISTRY}/flatcar-sdk-arm64" "${docker_vernum}-${ARCH}" } # --