From 858aeb1947add8d133964c1ba79d351b6b6947b0 Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Sat, 17 Feb 2024 20:24:58 +0900 Subject: [PATCH 01/24] Updated building images workflow --- .github/workflows/images_build.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/images_build.yml b/.github/workflows/images_build.yml index 0cd11203d5..1ebfe0eddf 100644 --- a/.github/workflows/images_build.yml +++ b/.github/workflows/images_build.yml @@ -345,6 +345,14 @@ jobs: echo "cache_from=$cache_from" >> $GITHUB_OUTPUT echo "cache_to=$cache_to" >> $GITHUB_OUTPUT + - name: Prepare cache data + env: + CACHE_FROM: ${{ steps.cache_data.outputs.cache_from }} + PLATFORMS: ${{ steps.platform.outputs.list }} + run: | + echo "$CACHE_FROM" + echo "$PLATFORMS" + - name: Build and publish image id: docker_build uses: docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56 # v5.1.0 From 3f0d35cc2ae25d7dceeeaa55505265f105d17021 Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Sat, 17 Feb 2024 20:27:41 +0900 Subject: [PATCH 02/24] Updated building images workflow --- .github/workflows/images_build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/images_build.yml b/.github/workflows/images_build.yml index 1ebfe0eddf..83c3c303e8 100644 --- a/.github/workflows/images_build.yml +++ b/.github/workflows/images_build.yml @@ -337,9 +337,9 @@ jobs: echo "${cache_to[*]}" echo "::endgroup::" - cache_from=$(printf '"%s",' "${cache_from[@]}") + cache_from=$(printf '%s,' "${cache_from[@]}") cache_from="${cache_from%,}" - cache_to=$(printf '"%s",' "${cache_to[@]}") + cache_to=$(printf '%s,' "${cache_to[@]}") cache_to="${cache_to%,}" echo "cache_from=$cache_from" >> $GITHUB_OUTPUT From c896ebbf3a069f46a3d284d290794996cfa882f1 Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Sat, 17 Feb 2024 20:30:06 +0900 Subject: [PATCH 03/24] Updated building images workflow --- .github/workflows/images_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/images_build.yml b/.github/workflows/images_build.yml index 83c3c303e8..3f6814b1c6 100644 --- a/.github/workflows/images_build.yml +++ b/.github/workflows/images_build.yml @@ -337,7 +337,7 @@ jobs: echo "${cache_to[*]}" echo "::endgroup::" - cache_from=$(printf '%s,' "${cache_from[@]}") + cache_from=$(printf '%s\n' "${cache_from[@]}") cache_from="${cache_from%,}" cache_to=$(printf '%s,' "${cache_to[@]}") cache_to="${cache_to%,}" From 8848114a261ad9284a36b754bab51d88e5452478 Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Sat, 17 Feb 2024 20:35:11 +0900 Subject: [PATCH 04/24] Updated building images workflow --- .github/workflows/images_build.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/images_build.yml b/.github/workflows/images_build.yml index 3f6814b1c6..8018c388c3 100644 --- a/.github/workflows/images_build.yml +++ b/.github/workflows/images_build.yml @@ -342,6 +342,10 @@ jobs: cache_to=$(printf '%s,' "${cache_to[@]}") cache_to="${cache_to%,}" + for i in "${!cache_from[@]}"; do + echo "cache_$i_from=${cache_from[$i]}" >> $GITHUB_OUTPUT + done + echo "cache_from=$cache_from" >> $GITHUB_OUTPUT echo "cache_to=$cache_to" >> $GITHUB_OUTPUT @@ -365,7 +369,7 @@ jobs: labels: | org.opencontainers.image.revision=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }} org.opencontainers.image.created=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.created'] }} - cache-from: ${{ steps.cache_data.outputs.cache_from }} + cache-from: ${{ steps.cache_data.outputs.cache_*_from }} cache-to: ${{ steps.cache_data.outputs.cache_to }} - name: Sign the images with GitHub OIDC Token From 3a4bfbcd123270f0ddf63a9506083ceb7cf2c6f1 Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Sat, 17 Feb 2024 22:13:14 +0900 Subject: [PATCH 05/24] Updated building images workflow --- .github/workflows/images_build.yml | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/.github/workflows/images_build.yml b/.github/workflows/images_build.yml index 8018c388c3..5428e5f1e0 100644 --- a/.github/workflows/images_build.yml +++ b/.github/workflows/images_build.yml @@ -338,13 +338,9 @@ jobs: echo "::endgroup::" cache_from=$(printf '%s\n' "${cache_from[@]}") - cache_from="${cache_from%,}" - cache_to=$(printf '%s,' "${cache_to[@]}") - cache_to="${cache_to%,}" - - for i in "${!cache_from[@]}"; do - echo "cache_$i_from=${cache_from[$i]}" >> $GITHUB_OUTPUT - done + cache_from="${cache_from%, }" + cache_to=$(printf '%s, ' "${cache_to[@]}") + cache_to="${cache_to%, }" echo "cache_from=$cache_from" >> $GITHUB_OUTPUT echo "cache_to=$cache_to" >> $GITHUB_OUTPUT @@ -369,7 +365,7 @@ jobs: labels: | org.opencontainers.image.revision=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }} org.opencontainers.image.created=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.created'] }} - cache-from: ${{ steps.cache_data.outputs.cache_*_from }} + cache-from: ${{ steps.cache_data.outputs.cache_from }} cache-to: ${{ steps.cache_data.outputs.cache_to }} - name: Sign the images with GitHub OIDC Token From b42231c45dd96eac6273c42369549af2ef7dab37 Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Sat, 17 Feb 2024 22:18:16 +0900 Subject: [PATCH 06/24] Updated building images workflow --- .github/workflows/images_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/images_build.yml b/.github/workflows/images_build.yml index 5428e5f1e0..85b8ccd451 100644 --- a/.github/workflows/images_build.yml +++ b/.github/workflows/images_build.yml @@ -337,7 +337,7 @@ jobs: echo "${cache_to[*]}" echo "::endgroup::" - cache_from=$(printf '%s\n' "${cache_from[@]}") + cache_from=$(printf '%s, ' "${cache_from[@]}") cache_from="${cache_from%, }" cache_to=$(printf '%s, ' "${cache_to[@]}") cache_to="${cache_to%, }" From 0fbb448376f2b845adcc2101f57e15d7020277b5 Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Sat, 17 Feb 2024 22:20:47 +0900 Subject: [PATCH 07/24] Updated building images workflow --- .github/workflows/images_build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/images_build.yml b/.github/workflows/images_build.yml index 85b8ccd451..39a1025c33 100644 --- a/.github/workflows/images_build.yml +++ b/.github/workflows/images_build.yml @@ -348,10 +348,10 @@ jobs: - name: Prepare cache data env: CACHE_FROM: ${{ steps.cache_data.outputs.cache_from }} - PLATFORMS: ${{ steps.platform.outputs.list }} + PLATFORMS: ${{ steps.meta.outputs.tags }} run: | echo "$CACHE_FROM" - echo "$PLATFORMS" + echo "'$PLATFORMS'" - name: Build and publish image id: docker_build From 6d1b07ef5416895f09645846169c435b735370d4 Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Sat, 17 Feb 2024 22:29:11 +0900 Subject: [PATCH 08/24] Updated building images workflow --- .github/workflows/images_build.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/images_build.yml b/.github/workflows/images_build.yml index 39a1025c33..66e682ad9f 100644 --- a/.github/workflows/images_build.yml +++ b/.github/workflows/images_build.yml @@ -328,6 +328,7 @@ jobs: cache_from+=("type=registry,ref=${IMAGE_TAG}") cache_to+=("type=gha,mode=max,scope=$IMAGE_TAG") + cache_to+=("type=gha,mode=max,scope=test$IMAGE_TAG") echo "::group::Cache from data" echo "${cache_from[*]}" @@ -337,10 +338,10 @@ jobs: echo "${cache_to[*]}" echo "::endgroup::" - cache_from=$(printf '%s, ' "${cache_from[@]}") - cache_from="${cache_from%, }" - cache_to=$(printf '%s, ' "${cache_to[@]}") - cache_to="${cache_to%, }" + cache_from=$(printf '%s%%0A' "${cache_from[@]}") + #cache_from="${cache_from%, }" + cache_to=$(printf '%s\n' "${cache_to[@]}") + cache_to="${cache_to//$'\n'/'%0A'}" echo "cache_from=$cache_from" >> $GITHUB_OUTPUT echo "cache_to=$cache_to" >> $GITHUB_OUTPUT From c2e6df02f46bdfd48b1a14655f512d7c8f965222 Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Sat, 17 Feb 2024 22:33:16 +0900 Subject: [PATCH 09/24] Updated building images workflow --- .github/workflows/images_build.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/images_build.yml b/.github/workflows/images_build.yml index 66e682ad9f..10593d39be 100644 --- a/.github/workflows/images_build.yml +++ b/.github/workflows/images_build.yml @@ -338,12 +338,13 @@ jobs: echo "${cache_to[*]}" echo "::endgroup::" - cache_from=$(printf '%s%%0A' "${cache_from[@]}") - #cache_from="${cache_from%, }" + cache_from=$(printf '%s\n' "${cache_from[@]}") cache_to=$(printf '%s\n' "${cache_to[@]}") cache_to="${cache_to//$'\n'/'%0A'}" - echo "cache_from=$cache_from" >> $GITHUB_OUTPUT + echo 'cache_from<> "$GITHUB_OUTPUT" + echo "$cache_from" >> "$GITHUB_OUTPUT" + echo 'EOF' >> "$GITHUB_OUTPUT" echo "cache_to=$cache_to" >> $GITHUB_OUTPUT - name: Prepare cache data From 37305c1b3c6350e495e35d75a622b22dcac33c45 Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Sat, 17 Feb 2024 22:35:47 +0900 Subject: [PATCH 10/24] Updated building images workflow --- .github/workflows/images_build.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/images_build.yml b/.github/workflows/images_build.yml index 10593d39be..d8922bd860 100644 --- a/.github/workflows/images_build.yml +++ b/.github/workflows/images_build.yml @@ -340,12 +340,13 @@ jobs: cache_from=$(printf '%s\n' "${cache_from[@]}") cache_to=$(printf '%s\n' "${cache_to[@]}") - cache_to="${cache_to//$'\n'/'%0A'}" echo 'cache_from<> "$GITHUB_OUTPUT" echo "$cache_from" >> "$GITHUB_OUTPUT" echo 'EOF' >> "$GITHUB_OUTPUT" - echo "cache_to=$cache_to" >> $GITHUB_OUTPUT + echo 'cache_to<> "$GITHUB_OUTPUT" + echo "$cache_to" >> "$GITHUB_OUTPUT" + echo 'EOF' >> "$GITHUB_OUTPUT" - name: Prepare cache data env: From 108e43dc27ae4560aab9048e043b977f98821658 Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Sat, 17 Feb 2024 22:50:10 +0900 Subject: [PATCH 11/24] Updated building images workflow --- .github/workflows/images_build.yml | 72 ++++++++++++++++++++++-------- 1 file changed, 53 insertions(+), 19 deletions(-) diff --git a/.github/workflows/images_build.yml b/.github/workflows/images_build.yml index d8922bd860..50af5ee622 100644 --- a/.github/workflows/images_build.yml +++ b/.github/workflows/images_build.yml @@ -28,7 +28,7 @@ permissions: env: TRUNK_ONLY_EVENT: ${{ contains(fromJSON('["schedule"]'), github.event_name) }} - AUTO_PUSH_IMAGES: ${{ vars.AUTO_PUSH_IMAGES }} + AUTO_PUSH_IMAGES: ${{ !contains(fromJSON('["workflow_dispatch"]'), github.event_name) || vars.AUTO_PUSH_IMAGES }} DOCKER_REPOSITORY: ${{ vars.DOCKER_REPOSITORY }} LATEST_BRANCH: ${{ github.event.repository.default_branch }} @@ -327,8 +327,7 @@ jobs: cache_from+=("type=gha,scope=${IMAGE_TAG}") cache_from+=("type=registry,ref=${IMAGE_TAG}") - cache_to+=("type=gha,mode=max,scope=$IMAGE_TAG") - cache_to+=("type=gha,mode=max,scope=test$IMAGE_TAG") + cache_to+=("type=gha,mode=max,scope=${IMAGE_TAG}") echo "::group::Cache from data" echo "${cache_from[*]}" @@ -348,14 +347,6 @@ jobs: echo "$cache_to" >> "$GITHUB_OUTPUT" echo 'EOF' >> "$GITHUB_OUTPUT" - - name: Prepare cache data - env: - CACHE_FROM: ${{ steps.cache_data.outputs.cache_from }} - PLATFORMS: ${{ steps.meta.outputs.tags }} - run: | - echo "$CACHE_FROM" - echo "'$PLATFORMS'" - - name: Build and publish image id: docker_build uses: docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56 # v5.1.0 @@ -542,6 +533,7 @@ jobs: echo "base_build_image=${BUILD_BASE_IMAGE}" >> $GITHUB_OUTPUT - name: Verify ${{ env.BASE_BUILD_NAME }}:${{ matrix.os }} cosign + if: ${{ env.AUTO_PUSH_IMAGES }} env: BASE_IMAGE: ${{ steps.base_build.outputs.base_build_image }} OIDC_ISSUER: ${{ env.OIDC_ISSUER }} @@ -560,6 +552,41 @@ jobs: "$BASE_IMAGE" echo "::endgroup::" + - name: Prepare cache data + id: cache_data + env: + BASE_IMAGE_TAG: ${{ steps.base_build.outputs.base_build_image }} + IMAGE_TAG: ${{ fromJSON(steps.meta.outputs.json).tags[0] }} + PUBLISH_IMAGES: ${{ env.AUTO_PUSH_IMAGES }} + run: | + cache_from=() + cache_to=() + + cache_from+=("type=gha,scope=${BASE_IMAGE_TAG}") + cache_from+=("type=registry,ref=${BASE_IMAGE_TAG}") + cache_from+=("type=gha,scope=${IMAGE_TAG}") + cache_from+=("type=registry,ref=${IMAGE_TAG}") + + cache_to+=("type=gha,mode=max,scope=${IMAGE_TAG}") + + echo "::group::Cache from data" + echo "${cache_from[*]}" + echo "::endgroup::" + + echo "::group::Cache to data" + echo "${cache_to[*]}" + echo "::endgroup::" + + cache_from=$(printf '%s\n' "${cache_from[@]}") + cache_to=$(printf '%s\n' "${cache_to[@]}") + + echo 'cache_from<> "$GITHUB_OUTPUT" + echo "$cache_from" >> "$GITHUB_OUTPUT" + echo 'EOF' >> "$GITHUB_OUTPUT" + echo 'cache_to<> "$GITHUB_OUTPUT" + echo "$cache_to" >> "$GITHUB_OUTPUT" + echo 'EOF' >> "$GITHUB_OUTPUT" + - name: Build ${{ matrix.build }}/${{ matrix.os }} and push id: docker_build uses: docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56 # v5.1.0 @@ -579,6 +606,7 @@ jobs: cache-to: type=gha,mode=max,scope=${{ fromJSON(steps.meta.outputs.json).tags[0] }} - name: Sign the images with GitHub OIDC Token + if: ${{ env.AUTO_PUSH_IMAGES }} env: DIGEST: ${{ steps.docker_build.outputs.digest }} TAGS: ${{ steps.meta.outputs.tags }} @@ -775,6 +803,7 @@ jobs: driver-opts: image=moby/buildkit:master - name: Login to DockerHub + if: ${{ env.AUTO_PUSH_IMAGES }} uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0 with: username: ${{ secrets.DOCKER_USERNAME }} @@ -869,7 +898,7 @@ jobs: echo "base_build_image=${BUILD_BASE_IMAGE}" >> $GITHUB_OUTPUT - name: Verify ${{ steps.build_base_image.outputs.build_base }}:${{ matrix.os }} cosign - if: ${{ matrix.build != 'snmptraps' }} + if: ${{ matrix.build != 'snmptraps' && env.AUTO_PUSH_IMAGES }} env: BASE_IMAGE: ${{ steps.base_build.outputs.base_build_image }} OIDC_ISSUER: ${{ env.OIDC_ISSUER }} @@ -893,16 +922,21 @@ jobs: env: BASE_IMAGE_TAG: ${{ steps.base_build.outputs.base_build_image }} run: | - cache_images="" - if [[ ! -z "$BASE_IMAGE_TAG" ]]; then - cache_images="type=gha,scope=$BASE_IMAGE_TAG"$'\n'"type=registry,ref=$BASE_IMAGE_TAG" - fi + cache_from=() + cache_to=() + + cache_from+=("type=gha,scope=${BASE_IMAGE_TAG}") + cache_from+=("type=registry,ref=${BASE_IMAGE_TAG}") - echo "::group::Base images cache" - echo "$cache_images" + echo "::group::Cache from data" + echo "${cache_from[*]}" echo "::endgroup::" - echo "cache_from=$cache_images" >> $GITHUB_OUTPUT + cache_from=$(printf '%s\n' "${cache_from[@]}") + + echo 'cache_from<> "$GITHUB_OUTPUT" + echo "$cache_from" >> "$GITHUB_OUTPUT" + echo 'EOF' >> "$GITHUB_OUTPUT" - name: Build and push image id: docker_build From ac4460b1b28d1120ed8a1690c62baff5019adc38 Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Sat, 17 Feb 2024 22:53:33 +0900 Subject: [PATCH 12/24] Updated building images workflow --- .github/workflows/images_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/images_build.yml b/.github/workflows/images_build.yml index 50af5ee622..46288f4297 100644 --- a/.github/workflows/images_build.yml +++ b/.github/workflows/images_build.yml @@ -28,7 +28,7 @@ permissions: env: TRUNK_ONLY_EVENT: ${{ contains(fromJSON('["schedule"]'), github.event_name) }} - AUTO_PUSH_IMAGES: ${{ !contains(fromJSON('["workflow_dispatch"]'), github.event_name) || vars.AUTO_PUSH_IMAGES }} + AUTO_PUSH_IMAGES: ${{ !contains(fromJSON('["workflow_dispatch"]'), github.event_name) && 'false' || vars.AUTO_PUSH_IMAGES }} DOCKER_REPOSITORY: ${{ vars.DOCKER_REPOSITORY }} LATEST_BRANCH: ${{ github.event.repository.default_branch }} From 5183dc930efae522a94bf951416bf7c11e4b4c9e Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Sat, 17 Feb 2024 22:55:26 +0900 Subject: [PATCH 13/24] Updated building images workflow --- .github/workflows/images_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/images_build.yml b/.github/workflows/images_build.yml index 46288f4297..731a02cbe0 100644 --- a/.github/workflows/images_build.yml +++ b/.github/workflows/images_build.yml @@ -28,7 +28,7 @@ permissions: env: TRUNK_ONLY_EVENT: ${{ contains(fromJSON('["schedule"]'), github.event_name) }} - AUTO_PUSH_IMAGES: ${{ !contains(fromJSON('["workflow_dispatch"]'), github.event_name) && 'false' || vars.AUTO_PUSH_IMAGES }} + AUTO_PUSH_IMAGES: ${{ contains(fromJSON('["workflow_dispatch"]'), github.event_name) && 'false' || vars.AUTO_PUSH_IMAGES }} DOCKER_REPOSITORY: ${{ vars.DOCKER_REPOSITORY }} LATEST_BRANCH: ${{ github.event.repository.default_branch }} From 8ff6949ef4f2d7166f842d004157a85cca56fb5e Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Sat, 17 Feb 2024 23:07:14 +0900 Subject: [PATCH 14/24] Updated building images workflow --- .github/workflows/images_build.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/images_build.yml b/.github/workflows/images_build.yml index 731a02cbe0..88e393769a 100644 --- a/.github/workflows/images_build.yml +++ b/.github/workflows/images_build.yml @@ -28,7 +28,7 @@ permissions: env: TRUNK_ONLY_EVENT: ${{ contains(fromJSON('["schedule"]'), github.event_name) }} - AUTO_PUSH_IMAGES: ${{ contains(fromJSON('["workflow_dispatch"]'), github.event_name) && 'false' || vars.AUTO_PUSH_IMAGES }} + AUTO_PUSH_IMAGES: ${{ contains(fromJSON('["workflow_dispatch"]'), github.event_name) && false || vars.AUTO_PUSH_IMAGES }} DOCKER_REPOSITORY: ${{ vars.DOCKER_REPOSITORY }} LATEST_BRANCH: ${{ github.event.repository.default_branch }} @@ -259,11 +259,13 @@ jobs: fetch-depth: 1 - name: Install cosign + if: ${{ env.AUTO_PUSH_IMAGES }} uses: sigstore/cosign-installer@e1523de7571e31dbe865fd2e80c5c7c23ae71eb4 with: cosign-release: 'v2.2.3' - name: Check cosign version + if: ${{ env.AUTO_PUSH_IMAGES }} run: cosign version - name: Set up QEMU From cbb8b77fc6f8135dac8ad6d44847a0e5280ce3e9 Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Sat, 17 Feb 2024 23:09:11 +0900 Subject: [PATCH 15/24] Updated building images workflow --- .github/workflows/images_build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/images_build.yml b/.github/workflows/images_build.yml index 88e393769a..7e0242dd64 100644 --- a/.github/workflows/images_build.yml +++ b/.github/workflows/images_build.yml @@ -357,6 +357,7 @@ jobs: file: ${{ env.DOCKERFILES_DIRECTORY }}/${{ env.BASE_BUILD_NAME }}/${{ matrix.os }}/Dockerfile platforms: ${{ steps.platform.outputs.list }} push: ${{ env.AUTO_PUSH_IMAGES }} + load: ${{ ! env.AUTO_PUSH_IMAGES }} tags: ${{ steps.meta.outputs.tags }} labels: | org.opencontainers.image.revision=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }} From 018d19062e1edf624d5ef3ceba9230294e870b1b Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Sat, 17 Feb 2024 23:11:32 +0900 Subject: [PATCH 16/24] Updated building images workflow --- .github/workflows/images_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/images_build.yml b/.github/workflows/images_build.yml index 7e0242dd64..da47934651 100644 --- a/.github/workflows/images_build.yml +++ b/.github/workflows/images_build.yml @@ -28,7 +28,7 @@ permissions: env: TRUNK_ONLY_EVENT: ${{ contains(fromJSON('["schedule"]'), github.event_name) }} - AUTO_PUSH_IMAGES: ${{ contains(fromJSON('["workflow_dispatch"]'), github.event_name) && false || vars.AUTO_PUSH_IMAGES }} + AUTO_PUSH_IMAGES: ${{ ! contains(fromJSON('["workflow_dispatch"]'), github.event_name) && vars.AUTO_PUSH_IMAGES }} DOCKER_REPOSITORY: ${{ vars.DOCKER_REPOSITORY }} LATEST_BRANCH: ${{ github.event.repository.default_branch }} From 7b1ba1fe4232cd5587a03ba0e4a0a98ecefbf944 Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Sat, 17 Feb 2024 23:14:54 +0900 Subject: [PATCH 17/24] Updated building images workflow --- .github/workflows/images_build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/images_build.yml b/.github/workflows/images_build.yml index da47934651..c4a1eaf151 100644 --- a/.github/workflows/images_build.yml +++ b/.github/workflows/images_build.yml @@ -265,7 +265,7 @@ jobs: cosign-release: 'v2.2.3' - name: Check cosign version - if: ${{ env.AUTO_PUSH_IMAGES }} + if: {{ env.AUTO_PUSH_IMAGES) }} run: cosign version - name: Set up QEMU @@ -280,6 +280,7 @@ jobs: driver-opts: image=moby/buildkit:master - name: Login to DockerHub + if: {{ fromJSON(env.AUTO_PUSH_IMAGES) }} uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0 with: username: ${{ secrets.DOCKER_USERNAME }} From 180aa32e7e85f0ac10d64d1db1a992cf59aedd12 Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Sat, 17 Feb 2024 23:16:25 +0900 Subject: [PATCH 18/24] Updated building images workflow --- .github/workflows/images_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/images_build.yml b/.github/workflows/images_build.yml index c4a1eaf151..f85f437cc3 100644 --- a/.github/workflows/images_build.yml +++ b/.github/workflows/images_build.yml @@ -265,7 +265,7 @@ jobs: cosign-release: 'v2.2.3' - name: Check cosign version - if: {{ env.AUTO_PUSH_IMAGES) }} + if: {{ env.AUTO_PUSH_IMAGES }} run: cosign version - name: Set up QEMU From c9c276c436974f9654790003f6618df3b75c1f75 Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Sat, 17 Feb 2024 23:17:57 +0900 Subject: [PATCH 19/24] Updated building images workflow --- .github/workflows/images_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/images_build.yml b/.github/workflows/images_build.yml index f85f437cc3..88bcf9cbfd 100644 --- a/.github/workflows/images_build.yml +++ b/.github/workflows/images_build.yml @@ -265,7 +265,7 @@ jobs: cosign-release: 'v2.2.3' - name: Check cosign version - if: {{ env.AUTO_PUSH_IMAGES }} + if: env.AUTO_PUSH_IMAGES run: cosign version - name: Set up QEMU From 4b9dc7259d091dc28482e74b74b1896bb4cb1e42 Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Sat, 17 Feb 2024 23:18:54 +0900 Subject: [PATCH 20/24] Updated building images workflow --- .github/workflows/images_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/images_build.yml b/.github/workflows/images_build.yml index 88bcf9cbfd..c6993ec694 100644 --- a/.github/workflows/images_build.yml +++ b/.github/workflows/images_build.yml @@ -280,7 +280,7 @@ jobs: driver-opts: image=moby/buildkit:master - name: Login to DockerHub - if: {{ fromJSON(env.AUTO_PUSH_IMAGES) }} + if: fromJSON(env.AUTO_PUSH_IMAGES) uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0 with: username: ${{ secrets.DOCKER_USERNAME }} From 994c693c117544a68ec4e9e398e09d5dc72395da Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Sat, 17 Feb 2024 23:24:24 +0900 Subject: [PATCH 21/24] Updated building images workflow --- .github/workflows/images_build.yml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/images_build.yml b/.github/workflows/images_build.yml index c6993ec694..34edc4ac32 100644 --- a/.github/workflows/images_build.yml +++ b/.github/workflows/images_build.yml @@ -259,13 +259,13 @@ jobs: fetch-depth: 1 - name: Install cosign - if: ${{ env.AUTO_PUSH_IMAGES }} + if: ${{ env.AUTO_PUSH_IMAGES == 'true' }} uses: sigstore/cosign-installer@e1523de7571e31dbe865fd2e80c5c7c23ae71eb4 with: cosign-release: 'v2.2.3' - name: Check cosign version - if: env.AUTO_PUSH_IMAGES + if: ${{ env.AUTO_PUSH_IMAGES == 'true' }} run: cosign version - name: Set up QEMU @@ -280,7 +280,7 @@ jobs: driver-opts: image=moby/buildkit:master - name: Login to DockerHub - if: fromJSON(env.AUTO_PUSH_IMAGES) + if: ${{ env.AUTO_PUSH_IMAGES == 'true' }} uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0 with: username: ${{ secrets.DOCKER_USERNAME }} @@ -322,7 +322,7 @@ jobs: id: cache_data env: IMAGE_TAG: ${{ fromJSON(steps.meta.outputs.json).tags[0] }} - PUBLISH_IMAGES: ${{ env.AUTO_PUSH_IMAGES }} + PUBLISH_IMAGES: ${{ env.AUTO_PUSH_IMAGES == 'true' }} run: | cache_from=() cache_to=() @@ -357,7 +357,7 @@ jobs: context: ${{ env.DOCKERFILES_DIRECTORY }}/${{ env.BASE_BUILD_NAME }}/${{ matrix.os }} file: ${{ env.DOCKERFILES_DIRECTORY }}/${{ env.BASE_BUILD_NAME }}/${{ matrix.os }}/Dockerfile platforms: ${{ steps.platform.outputs.list }} - push: ${{ env.AUTO_PUSH_IMAGES }} + push: ${{ env.AUTO_PUSH_IMAGES == 'true' }} load: ${{ ! env.AUTO_PUSH_IMAGES }} tags: ${{ steps.meta.outputs.tags }} labels: | @@ -367,7 +367,7 @@ jobs: cache-to: ${{ steps.cache_data.outputs.cache_to }} - name: Sign the images with GitHub OIDC Token - if: ${{ env.AUTO_PUSH_IMAGES }} + if: ${{ env.AUTO_PUSH_IMAGES == 'true' }} env: DIGEST: ${{ steps.docker_build.outputs.digest }} TAGS: ${{ steps.meta.outputs.tags }} @@ -537,7 +537,7 @@ jobs: echo "base_build_image=${BUILD_BASE_IMAGE}" >> $GITHUB_OUTPUT - name: Verify ${{ env.BASE_BUILD_NAME }}:${{ matrix.os }} cosign - if: ${{ env.AUTO_PUSH_IMAGES }} + if: ${{ env.AUTO_PUSH_IMAGES == 'true' }} env: BASE_IMAGE: ${{ steps.base_build.outputs.base_build_image }} OIDC_ISSUER: ${{ env.OIDC_ISSUER }} @@ -561,7 +561,7 @@ jobs: env: BASE_IMAGE_TAG: ${{ steps.base_build.outputs.base_build_image }} IMAGE_TAG: ${{ fromJSON(steps.meta.outputs.json).tags[0] }} - PUBLISH_IMAGES: ${{ env.AUTO_PUSH_IMAGES }} + PUBLISH_IMAGES: ${{ env.AUTO_PUSH_IMAGES == 'true' }} run: | cache_from=() cache_to=() @@ -598,7 +598,7 @@ jobs: context: ${{ env.DOCKERFILES_DIRECTORY }}/${{ matrix.build }}/${{ matrix.os }} file: ${{ env.DOCKERFILES_DIRECTORY }}/${{ matrix.build }}/${{ matrix.os }}/Dockerfile platforms: ${{ steps.platform.outputs.list }} - push: ${{ env.AUTO_PUSH_IMAGES }} + push: ${{ env.AUTO_PUSH_IMAGES == 'true' }} tags: ${{ steps.meta.outputs.tags }} build-args: BUILD_BASE_IMAGE=${{ steps.base_build.outputs.base_build_image }} labels: | @@ -610,7 +610,7 @@ jobs: cache-to: type=gha,mode=max,scope=${{ fromJSON(steps.meta.outputs.json).tags[0] }} - name: Sign the images with GitHub OIDC Token - if: ${{ env.AUTO_PUSH_IMAGES }} + if: ${{ env.AUTO_PUSH_IMAGES == 'true' }} env: DIGEST: ${{ steps.docker_build.outputs.digest }} TAGS: ${{ steps.meta.outputs.tags }} @@ -807,7 +807,7 @@ jobs: driver-opts: image=moby/buildkit:master - name: Login to DockerHub - if: ${{ env.AUTO_PUSH_IMAGES }} + if: ${{ env.AUTO_PUSH_IMAGES == 'true' }} uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0 with: username: ${{ secrets.DOCKER_USERNAME }} @@ -902,7 +902,7 @@ jobs: echo "base_build_image=${BUILD_BASE_IMAGE}" >> $GITHUB_OUTPUT - name: Verify ${{ steps.build_base_image.outputs.build_base }}:${{ matrix.os }} cosign - if: ${{ matrix.build != 'snmptraps' && env.AUTO_PUSH_IMAGES }} + if: ${{ matrix.build != 'snmptraps' && env.AUTO_PUSH_IMAGES == 'true' }} env: BASE_IMAGE: ${{ steps.base_build.outputs.base_build_image }} OIDC_ISSUER: ${{ env.OIDC_ISSUER }} @@ -949,7 +949,7 @@ jobs: context: ${{ env.DOCKERFILES_DIRECTORY }}/${{ matrix.build }}/${{ matrix.os }} file: ${{ env.DOCKERFILES_DIRECTORY }}/${{ matrix.build }}/${{ matrix.os }}/Dockerfile platforms: ${{ steps.platform.outputs.list }} - push: ${{ env.AUTO_PUSH_IMAGES }} + push: ${{ env.AUTO_PUSH_IMAGES == 'true' }} tags: ${{ steps.meta.outputs.tags }} build-args: BUILD_BASE_IMAGE=${{ steps.base_build.outputs.base_build_image }} labels: | @@ -958,7 +958,7 @@ jobs: cache-from: ${{ steps.cache_data.outputs.cache_from }} - name: Sign the images with GitHub OIDC Token - if: ${{ env.AUTO_PUSH_IMAGES }} + if: ${{ env.AUTO_PUSH_IMAGES == 'true' }} env: DIGEST: ${{ steps.docker_build.outputs.digest }} TAGS: ${{ steps.meta.outputs.tags }} From e42110fb840da76f99dcf0df31d5e5ce5b71e37d Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Sat, 17 Feb 2024 23:28:27 +0900 Subject: [PATCH 22/24] Updated building images workflow --- .github/workflows/images_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/images_build.yml b/.github/workflows/images_build.yml index 34edc4ac32..5868e6f714 100644 --- a/.github/workflows/images_build.yml +++ b/.github/workflows/images_build.yml @@ -358,7 +358,7 @@ jobs: file: ${{ env.DOCKERFILES_DIRECTORY }}/${{ env.BASE_BUILD_NAME }}/${{ matrix.os }}/Dockerfile platforms: ${{ steps.platform.outputs.list }} push: ${{ env.AUTO_PUSH_IMAGES == 'true' }} - load: ${{ ! env.AUTO_PUSH_IMAGES }} + load: ${{ env.AUTO_PUSH_IMAGES != 'true' }} tags: ${{ steps.meta.outputs.tags }} labels: | org.opencontainers.image.revision=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }} From 2e0215b30c15c94d0022058d18f16bff2dd7533e Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Sat, 17 Feb 2024 23:31:11 +0900 Subject: [PATCH 23/24] Updated building images workflow --- .github/workflows/images_build.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/images_build.yml b/.github/workflows/images_build.yml index 5868e6f714..55aff702cc 100644 --- a/.github/workflows/images_build.yml +++ b/.github/workflows/images_build.yml @@ -358,7 +358,6 @@ jobs: file: ${{ env.DOCKERFILES_DIRECTORY }}/${{ env.BASE_BUILD_NAME }}/${{ matrix.os }}/Dockerfile platforms: ${{ steps.platform.outputs.list }} push: ${{ env.AUTO_PUSH_IMAGES == 'true' }} - load: ${{ env.AUTO_PUSH_IMAGES != 'true' }} tags: ${{ steps.meta.outputs.tags }} labels: | org.opencontainers.image.revision=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }} @@ -388,7 +387,7 @@ jobs: - name: Image digest env: - DIGEST: ${{ steps.docker_build.outputs.digest }} + DIGEST: ${{ steps.docker_build.outputs.digest || fromJSON(steps.meta.outputs.json).tags[0] }} CACHE_FILE_NAME: ${{ env.BASE_BUILD_NAME }}_${{ matrix.os }} run: | echo "::group::Image digest" From 7ee755f4e95116edff7a504a92b056bd48702c22 Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Sat, 17 Feb 2024 23:35:23 +0900 Subject: [PATCH 24/24] Updated building images workflow --- .github/workflows/images_build.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/images_build.yml b/.github/workflows/images_build.yml index 55aff702cc..6b623e7712 100644 --- a/.github/workflows/images_build.yml +++ b/.github/workflows/images_build.yml @@ -454,11 +454,13 @@ jobs: fetch-depth: 1 - name: Install cosign + if: ${{ env.AUTO_PUSH_IMAGES == 'true' }} uses: sigstore/cosign-installer@e1523de7571e31dbe865fd2e80c5c7c23ae71eb4 with: cosign-release: 'v2.2.3' - name: Check cosign version + if: ${{ env.AUTO_PUSH_IMAGES == 'true' }} run: cosign version - name: Set up QEMU @@ -473,6 +475,7 @@ jobs: driver-opts: image=moby/buildkit:master - name: Login to DockerHub + if: ${{ env.AUTO_PUSH_IMAGES == 'true' }} uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0 with: username: ${{ secrets.DOCKER_USERNAME }} @@ -525,7 +528,11 @@ jobs: IMAGES_PREFIX: ${{ env.IMAGES_PREFIX }} run: | BASE_TAG=$(cat "${BASE_IMAGE}_${MATRIX_OS}") - BUILD_BASE_IMAGE="${DOCKER_REPOSITORY}/${IMAGES_PREFIX}${BASE_IMAGE}@${BASE_TAG}" + if [[ "${BASE_TAG}" == "sha256"* ]]; then + BUILD_BASE_IMAGE="${DOCKER_REPOSITORY}/${IMAGES_PREFIX}${BASE_IMAGE}@${BASE_TAG}" + else + BUILD_BASE_IMAGE=${BASE_TAG} + fi echo "::group::Base build image information" echo "base_tag=${BASE_TAG}"