From e0e0d9e66c91fb2ce1f1a8f454093e39cec8f0df Mon Sep 17 00:00:00 2001 From: Artem Kladov Date: Sun, 21 Jul 2024 15:07:04 +0300 Subject: [PATCH] Updates Signed-off-by: Artem Kladov --- .github/ci_templates/build.yml | 31 +--- .github/workflows/build-and-test_release.yml | 150 +------------------ tools/check-release-images.sh | 1 + 3 files changed, 7 insertions(+), 175 deletions(-) diff --git a/.github/ci_templates/build.yml b/.github/ci_templates/build.yml index 2ddfedd3a6..fbd9021c2d 100644 --- a/.github/ci_templates/build.yml +++ b/.github/ci_templates/build.yml @@ -229,7 +229,6 @@ steps: {!{- if eq $buildType "release" }!} - name: Check deckhouse images in prod registry if: ${{ github.repository == 'deckhouse/deckhouse-test-1' && startsWith(github.ref, 'refs/tags/v') }} - id: check_images env: CI_COMMIT_REF_SLUG: ${{needs.git_info.outputs.ci_commit_ref_slug}} @@ -237,36 +236,8 @@ steps: run: | set -x EDITION=$(echo ${WERF_ENV} | tr '[:upper:]' '[:lower:]') - TAG=${CI_COMMIT_REF_SLUG} - IMAGES_PATH=${DECKHOUSE_REGISTRY_READ_HOST}/deckhouse/ - REGISTRY_URL=${IMAGES_PATH}${EDITION} - INSTALL_IMAGE_PATH=${REGISTRY_URL}/install:${TAG} - - echo "Checking images for DKP ${EDITION} ${TAG} (${REGISTRY_URL})" - if [ -n "`docker ps -a| grep d8-install-${EDITION}-${TAG}`" ]; then - docker rm -f d8-install-${EDITION}-${TAG} 2>/dev/null - fi - - echo "Creating install container" - docker create --name d8-install-${EDITION}-${TAG} ${INSTALL_IMAGE_PATH} - - IMAGES_SHA=$(docker cp d8-install-${EDITION}-${TAG}:/deckhouse/candi/images_digests.json - | tar -Oxf - | grep -Eo "sha256:[a-f0-9]+") - - for sha in ${IMAGES_SHA}; do - echo -n "Checking image ${sha}..." - OUT=$(crane manifest ${REGISTRY_URL}@${sha} 2>&1) - if [ $? -ne 0 ]; then - echo -e "Error!\n" - echo $OUT - exit 1 - else - echo "ok" - fi - done - - echo "Deleting install container" - docker rm -f d8-install-${EDITION}-${TAG} 2>/dev/null + ./tools/check-release-images.sh --tag ${CI_COMMIT_REF_SLUG} --edition ${EDITION} --images-path ${DECKHOUSE_REGISTRY_READ_HOST}/deckhouse/ {!{- end }!} - name: Cleanup diff --git a/.github/workflows/build-and-test_release.yml b/.github/workflows/build-and-test_release.yml index bd52f854a4..68b8c84b2c 100644 --- a/.github/workflows/build-and-test_release.yml +++ b/.github/workflows/build-and-test_release.yml @@ -630,7 +630,6 @@ jobs: echo "tests_image_name=$(echo ${TESTS_IMAGE_NAME} | gzip | base64 -w0)" >> $GITHUB_OUTPUT - name: Check deckhouse images in prod registry if: ${{ github.repository == 'deckhouse/deckhouse-test-1' && startsWith(github.ref, 'refs/tags/v') }} - id: check_images env: CI_COMMIT_REF_SLUG: ${{needs.git_info.outputs.ci_commit_ref_slug}} @@ -638,35 +637,8 @@ jobs: run: | set -x EDITION=$(echo ${WERF_ENV} | tr '[:upper:]' '[:lower:]') - TAG=${CI_COMMIT_REF_SLUG} - IMAGES_PATH=${DECKHOUSE_REGISTRY_READ_HOST}/deckhouse/ - REGISTRY_URL=${IMAGES_PATH}${EDITION} - INSTALL_IMAGE_PATH=${REGISTRY_URL}/install:${TAG} - - echo "Checking images for DKP ${EDITION} ${TAG} (${REGISTRY_URL})" - if [ -n "`docker ps -a| grep d8-install-${EDITION}-${TAG}`" ]; then - docker rm -f d8-install-${EDITION}-${TAG} 2>/dev/null - fi - - echo "Creating install container" - docker create --name d8-install-${EDITION}-${TAG} ${INSTALL_IMAGE_PATH} - - IMAGES_SHA=$(docker cp d8-install-${EDITION}-${TAG}:/deckhouse/candi/images_digests.json - | tar -Oxf - | grep -Eo "sha256:[a-f0-9]+") - for sha in ${IMAGES_SHA}; do - echo -n "Checking image ${sha}..." - OUT=$(crane manifest ${REGISTRY_URL}@${sha} 2>&1) - if [ $? -ne 0 ]; then - echo -e "Error!\n" - echo $OUT - exit 1 - else - echo "ok" - fi - done - - echo "Deleting install container" - docker rm -f d8-install-${EDITION}-${TAG} 2>/dev/null + ./tools/check-release-images.sh --tag ${CI_COMMIT_REF_SLUG} --edition ${EDITION} --images-path ${DECKHOUSE_REGISTRY_READ_HOST}/deckhouse/ - name: Cleanup if: ${{ always() }} @@ -976,7 +948,6 @@ jobs: echo "tests_image_name=$(echo ${TESTS_IMAGE_NAME} | gzip | base64 -w0)" >> $GITHUB_OUTPUT - name: Check deckhouse images in prod registry if: ${{ github.repository == 'deckhouse/deckhouse-test-1' && startsWith(github.ref, 'refs/tags/v') }} - id: check_images env: CI_COMMIT_REF_SLUG: ${{needs.git_info.outputs.ci_commit_ref_slug}} @@ -984,35 +955,8 @@ jobs: run: | set -x EDITION=$(echo ${WERF_ENV} | tr '[:upper:]' '[:lower:]') - TAG=${CI_COMMIT_REF_SLUG} - IMAGES_PATH=${DECKHOUSE_REGISTRY_READ_HOST}/deckhouse/ - REGISTRY_URL=${IMAGES_PATH}${EDITION} - INSTALL_IMAGE_PATH=${REGISTRY_URL}/install:${TAG} - - echo "Checking images for DKP ${EDITION} ${TAG} (${REGISTRY_URL})" - if [ -n "`docker ps -a| grep d8-install-${EDITION}-${TAG}`" ]; then - docker rm -f d8-install-${EDITION}-${TAG} 2>/dev/null - fi - echo "Creating install container" - docker create --name d8-install-${EDITION}-${TAG} ${INSTALL_IMAGE_PATH} - - IMAGES_SHA=$(docker cp d8-install-${EDITION}-${TAG}:/deckhouse/candi/images_digests.json - | tar -Oxf - | grep -Eo "sha256:[a-f0-9]+") - - for sha in ${IMAGES_SHA}; do - echo -n "Checking image ${sha}..." - OUT=$(crane manifest ${REGISTRY_URL}@${sha} 2>&1) - if [ $? -ne 0 ]; then - echo -e "Error!\n" - echo $OUT - exit 1 - else - echo "ok" - fi - done - - echo "Deleting install container" - docker rm -f d8-install-${EDITION}-${TAG} 2>/dev/null + ./tools/check-release-images.sh --tag ${CI_COMMIT_REF_SLUG} --edition ${EDITION} --images-path ${DECKHOUSE_REGISTRY_READ_HOST}/deckhouse/ - name: Cleanup if: ${{ always() }} @@ -1322,7 +1266,6 @@ jobs: echo "tests_image_name=$(echo ${TESTS_IMAGE_NAME} | gzip | base64 -w0)" >> $GITHUB_OUTPUT - name: Check deckhouse images in prod registry if: ${{ github.repository == 'deckhouse/deckhouse-test-1' && startsWith(github.ref, 'refs/tags/v') }} - id: check_images env: CI_COMMIT_REF_SLUG: ${{needs.git_info.outputs.ci_commit_ref_slug}} @@ -1330,35 +1273,8 @@ jobs: run: | set -x EDITION=$(echo ${WERF_ENV} | tr '[:upper:]' '[:lower:]') - TAG=${CI_COMMIT_REF_SLUG} - IMAGES_PATH=${DECKHOUSE_REGISTRY_READ_HOST}/deckhouse/ - REGISTRY_URL=${IMAGES_PATH}${EDITION} - INSTALL_IMAGE_PATH=${REGISTRY_URL}/install:${TAG} - - echo "Checking images for DKP ${EDITION} ${TAG} (${REGISTRY_URL})" - if [ -n "`docker ps -a| grep d8-install-${EDITION}-${TAG}`" ]; then - docker rm -f d8-install-${EDITION}-${TAG} 2>/dev/null - fi - - echo "Creating install container" - docker create --name d8-install-${EDITION}-${TAG} ${INSTALL_IMAGE_PATH} - IMAGES_SHA=$(docker cp d8-install-${EDITION}-${TAG}:/deckhouse/candi/images_digests.json - | tar -Oxf - | grep -Eo "sha256:[a-f0-9]+") - - for sha in ${IMAGES_SHA}; do - echo -n "Checking image ${sha}..." - OUT=$(crane manifest ${REGISTRY_URL}@${sha} 2>&1) - if [ $? -ne 0 ]; then - echo -e "Error!\n" - echo $OUT - exit 1 - else - echo "ok" - fi - done - - echo "Deleting install container" - docker rm -f d8-install-${EDITION}-${TAG} 2>/dev/null + ./tools/check-release-images.sh --tag ${CI_COMMIT_REF_SLUG} --edition ${EDITION} --images-path ${DECKHOUSE_REGISTRY_READ_HOST}/deckhouse/ - name: Cleanup if: ${{ always() }} @@ -1668,7 +1584,6 @@ jobs: echo "tests_image_name=$(echo ${TESTS_IMAGE_NAME} | gzip | base64 -w0)" >> $GITHUB_OUTPUT - name: Check deckhouse images in prod registry if: ${{ github.repository == 'deckhouse/deckhouse-test-1' && startsWith(github.ref, 'refs/tags/v') }} - id: check_images env: CI_COMMIT_REF_SLUG: ${{needs.git_info.outputs.ci_commit_ref_slug}} @@ -1676,35 +1591,8 @@ jobs: run: | set -x EDITION=$(echo ${WERF_ENV} | tr '[:upper:]' '[:lower:]') - TAG=${CI_COMMIT_REF_SLUG} - IMAGES_PATH=${DECKHOUSE_REGISTRY_READ_HOST}/deckhouse/ - REGISTRY_URL=${IMAGES_PATH}${EDITION} - INSTALL_IMAGE_PATH=${REGISTRY_URL}/install:${TAG} - - echo "Checking images for DKP ${EDITION} ${TAG} (${REGISTRY_URL})" - if [ -n "`docker ps -a| grep d8-install-${EDITION}-${TAG}`" ]; then - docker rm -f d8-install-${EDITION}-${TAG} 2>/dev/null - fi - - echo "Creating install container" - docker create --name d8-install-${EDITION}-${TAG} ${INSTALL_IMAGE_PATH} - IMAGES_SHA=$(docker cp d8-install-${EDITION}-${TAG}:/deckhouse/candi/images_digests.json - | tar -Oxf - | grep -Eo "sha256:[a-f0-9]+") - - for sha in ${IMAGES_SHA}; do - echo -n "Checking image ${sha}..." - OUT=$(crane manifest ${REGISTRY_URL}@${sha} 2>&1) - if [ $? -ne 0 ]; then - echo -e "Error!\n" - echo $OUT - exit 1 - else - echo "ok" - fi - done - - echo "Deleting install container" - docker rm -f d8-install-${EDITION}-${TAG} 2>/dev/null + ./tools/check-release-images.sh --tag ${CI_COMMIT_REF_SLUG} --edition ${EDITION} --images-path ${DECKHOUSE_REGISTRY_READ_HOST}/deckhouse/ - name: Cleanup if: ${{ always() }} @@ -2014,7 +1902,6 @@ jobs: echo "tests_image_name=$(echo ${TESTS_IMAGE_NAME} | gzip | base64 -w0)" >> $GITHUB_OUTPUT - name: Check deckhouse images in prod registry if: ${{ github.repository == 'deckhouse/deckhouse-test-1' && startsWith(github.ref, 'refs/tags/v') }} - id: check_images env: CI_COMMIT_REF_SLUG: ${{needs.git_info.outputs.ci_commit_ref_slug}} @@ -2022,35 +1909,8 @@ jobs: run: | set -x EDITION=$(echo ${WERF_ENV} | tr '[:upper:]' '[:lower:]') - TAG=${CI_COMMIT_REF_SLUG} - IMAGES_PATH=${DECKHOUSE_REGISTRY_READ_HOST}/deckhouse/ - REGISTRY_URL=${IMAGES_PATH}${EDITION} - INSTALL_IMAGE_PATH=${REGISTRY_URL}/install:${TAG} - - echo "Checking images for DKP ${EDITION} ${TAG} (${REGISTRY_URL})" - if [ -n "`docker ps -a| grep d8-install-${EDITION}-${TAG}`" ]; then - docker rm -f d8-install-${EDITION}-${TAG} 2>/dev/null - fi - - echo "Creating install container" - docker create --name d8-install-${EDITION}-${TAG} ${INSTALL_IMAGE_PATH} - - IMAGES_SHA=$(docker cp d8-install-${EDITION}-${TAG}:/deckhouse/candi/images_digests.json - | tar -Oxf - | grep -Eo "sha256:[a-f0-9]+") - - for sha in ${IMAGES_SHA}; do - echo -n "Checking image ${sha}..." - OUT=$(crane manifest ${REGISTRY_URL}@${sha} 2>&1) - if [ $? -ne 0 ]; then - echo -e "Error!\n" - echo $OUT - exit 1 - else - echo "ok" - fi - done - echo "Deleting install container" - docker rm -f d8-install-${EDITION}-${TAG} 2>/dev/null + ./tools/check-release-images.sh --tag ${CI_COMMIT_REF_SLUG} --edition ${EDITION} --images-path ${DECKHOUSE_REGISTRY_READ_HOST}/deckhouse/ - name: Cleanup if: ${{ always() }} diff --git a/tools/check-release-images.sh b/tools/check-release-images.sh index d44073e124..b23b46345c 100755 --- a/tools/check-release-images.sh +++ b/tools/check-release-images.sh @@ -103,6 +103,7 @@ if [ -n "`docker ps -a| grep d8-install-${EDITION}-${TAG}`" ]; then cleanup fi +echo "Creating install container" docker create --name d8-install-${EDITION}-${TAG} ${INSTALL_IMAGE_PATH} IMAGES_SHA=$(docker cp d8-install-${EDITION}-${TAG}:/deckhouse/candi/images_digests.json - | tar -Oxf - | grep -Eo "sha256:[a-f0-9]+")