From cdf2b2a3496f3a7020dccf888168e9a3e15244af Mon Sep 17 00:00:00 2001 From: Evgeny Snitko Date: Thu, 24 Apr 2025 17:33:34 +0400 Subject: [PATCH 1/8] push to dockerhub --- .github/actions/build-push-image/action.yml | 22 +++++++++++++++++++-- .github/workflows/build-publish-images.yml | 14 ++++++------- 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/.github/actions/build-push-image/action.yml b/.github/actions/build-push-image/action.yml index 801fdeba42ade..339feb0263fbe 100644 --- a/.github/actions/build-push-image/action.yml +++ b/.github/actions/build-push-image/action.yml @@ -4,8 +4,11 @@ inputs: description: "dockerfile to build" required: true image-name: - description: "" + description: "image name (without registry)" required: true + pushToDockerhub: + description: "" + default: true outputs: branch: description: "Branch name for the PR" @@ -29,6 +32,7 @@ runs: shell: bash env: ZOMBIENET_IMAGE: "docker.io/paritytech/zombienet:v1.3.105" + IMAGE_TAG: europe-docker.pkg.dev/parity-ci-2024/temp-images/${{ inputs.image-name }}:$DOCKER_IMAGES_VERSION run: | export DOCKER_IMAGES_VERSION=${{ github.event.pull_request.head.sha }} if [[ ${{ github.event_name }} == "merge_group" ]]; then export DOCKER_IMAGES_VERSION="${GITHUB_SHA::8}"; fi @@ -37,7 +41,21 @@ runs: --build-arg BUILD_DATE="$(date -u '+%Y-%m-%dT%H:%M:%SZ')" \ --build-arg IMAGE_NAME="${{ inputs.image-name }}" \ --build-arg ZOMBIENET_IMAGE="${ZOMBIENET_IMAGE}" \ - -t "${{ inputs.image-name }}:$DOCKER_IMAGES_VERSION" \ + -t "${{ env.IMAGE_TAG }}" \ -f ${{ inputs.dockerfile }} \ . docker push "${{ inputs.image-name }}:$DOCKER_IMAGES_VERSION" + + - name: login to dockerhub + if: ${{ inputs.pushToDockerhub }} + uses: docker/login-action@v3 + with: + username: ${{ secrets.PARITYPR_DOCKERHUB_USERNAME }} + password: ${{ secrets.PARITYPR_DOCKERHUB_PASSWORD }} + + - name: push to dockerhub + if: ${{ inputs.pushToDockerhub }} + run: | + docker tag ${{ env.IMAGE_TAG }} docker.io/paritypr/${{ inputs.image-name }}:$DOCKER_IMAGES_VERSION + + diff --git a/.github/workflows/build-publish-images.yml b/.github/workflows/build-publish-images.yml index e0d982070184d..0b152b97b4bea 100644 --- a/.github/workflows/build-publish-images.yml +++ b/.github/workflows/build-publish-images.yml @@ -417,7 +417,7 @@ jobs: - name: build and push image uses: ./.github/actions/build-push-image with: - image-name: "europe-docker.pkg.dev/parity-ci-2024/temp-images/test-parachain" + image-name: "test-parachain" dockerfile: "docker/dockerfiles/test-parachain_injected.Dockerfile" # @@ -441,7 +441,7 @@ jobs: - name: build and push image uses: ./.github/actions/build-push-image with: - image-name: "europe-docker.pkg.dev/parity-ci-2024/temp-images/polkadot-debug" + image-name: "polkadot-debug" dockerfile: "docker/dockerfiles/polkadot/polkadot_injected_debug.Dockerfile" # @@ -465,7 +465,7 @@ jobs: - name: build and push image uses: ./.github/actions/build-push-image with: - image-name: "europe-docker.pkg.dev/parity-ci-2024/temp-images/colander" + image-name: "colander" dockerfile: "docker/dockerfiles/collator_injected.Dockerfile" # @@ -489,7 +489,7 @@ jobs: - name: build and push image uses: ./.github/actions/build-push-image with: - image-name: "europe-docker.pkg.dev/parity-ci-2024/temp-images/malus" + image-name: "malus" dockerfile: "docker/dockerfiles/malus_injected.Dockerfile" # @@ -513,7 +513,7 @@ jobs: - name: build and push image uses: ./.github/actions/build-push-image with: - image-name: "europe-docker.pkg.dev/parity-ci-2024/temp-images/substrate" + image-name: "substrate" dockerfile: "docker/dockerfiles/substrate_injected.Dockerfile" # @@ -562,7 +562,7 @@ jobs: - name: build and push image uses: ./.github/actions/build-push-image with: - image-name: "europe-docker.pkg.dev/parity-ci-2024/temp-images/bridges-zombienet-tests" + image-name: "bridges-zombienet-tests" dockerfile: "docker/dockerfiles/bridges_zombienet_tests_injected.Dockerfile" # @@ -586,7 +586,7 @@ jobs: - name: build and push image uses: ./.github/actions/build-push-image with: - image-name: "europe-docker.pkg.dev/parity-ci-2024/temp-images/polkadot-parachain-debug" + image-name: "polkadot-parachain-debug" dockerfile: "docker/dockerfiles/polkadot-parachain/polkadot-parachain-debug_unsigned_injected.Dockerfile" confirm-required-build-jobs-passed: From 078ca0fe1c2958950bc2e4086de8722d36cbd755 Mon Sep 17 00:00:00 2001 From: Evgeny Snitko Date: Thu, 24 Apr 2025 17:51:33 +0400 Subject: [PATCH 2/8] docker creds input --- .github/actions/build-push-image/action.yml | 9 +++++++-- .github/workflows/build-publish-images.yml | 14 ++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/.github/actions/build-push-image/action.yml b/.github/actions/build-push-image/action.yml index 339feb0263fbe..44dd139296a01 100644 --- a/.github/actions/build-push-image/action.yml +++ b/.github/actions/build-push-image/action.yml @@ -9,6 +9,10 @@ inputs: pushToDockerhub: description: "" default: true + username: + required: false + password: + required: false outputs: branch: description: "Branch name for the PR" @@ -50,10 +54,11 @@ runs: if: ${{ inputs.pushToDockerhub }} uses: docker/login-action@v3 with: - username: ${{ secrets.PARITYPR_DOCKERHUB_USERNAME }} - password: ${{ secrets.PARITYPR_DOCKERHUB_PASSWORD }} + username: ${{ inputs.username }} + password: ${{ inputs.password }} - name: push to dockerhub + shell: bash if: ${{ inputs.pushToDockerhub }} run: | docker tag ${{ env.IMAGE_TAG }} docker.io/paritypr/${{ inputs.image-name }}:$DOCKER_IMAGES_VERSION diff --git a/.github/workflows/build-publish-images.yml b/.github/workflows/build-publish-images.yml index 0b152b97b4bea..2625656de9c78 100644 --- a/.github/workflows/build-publish-images.yml +++ b/.github/workflows/build-publish-images.yml @@ -419,6 +419,8 @@ jobs: with: image-name: "test-parachain" dockerfile: "docker/dockerfiles/test-parachain_injected.Dockerfile" + username: ${{ secrets.PARITYPR_DOCKERHUB_USERNAME }} + password: ${{ secrets.PARITYPR_DOCKERHUB_PASSWORD }} # # @@ -443,6 +445,8 @@ jobs: with: image-name: "polkadot-debug" dockerfile: "docker/dockerfiles/polkadot/polkadot_injected_debug.Dockerfile" + username: ${{ secrets.PARITYPR_DOCKERHUB_USERNAME }} + password: ${{ secrets.PARITYPR_DOCKERHUB_PASSWORD }} # # @@ -467,6 +471,8 @@ jobs: with: image-name: "colander" dockerfile: "docker/dockerfiles/collator_injected.Dockerfile" + username: ${{ secrets.PARITYPR_DOCKERHUB_USERNAME }} + password: ${{ secrets.PARITYPR_DOCKERHUB_PASSWORD }} # # @@ -491,6 +497,8 @@ jobs: with: image-name: "malus" dockerfile: "docker/dockerfiles/malus_injected.Dockerfile" + username: ${{ secrets.PARITYPR_DOCKERHUB_USERNAME }} + password: ${{ secrets.PARITYPR_DOCKERHUB_PASSWORD }} # # @@ -515,6 +523,8 @@ jobs: with: image-name: "substrate" dockerfile: "docker/dockerfiles/substrate_injected.Dockerfile" + username: ${{ secrets.PARITYPR_DOCKERHUB_USERNAME }} + password: ${{ secrets.PARITYPR_DOCKERHUB_PASSWORD }} # # @@ -564,6 +574,8 @@ jobs: with: image-name: "bridges-zombienet-tests" dockerfile: "docker/dockerfiles/bridges_zombienet_tests_injected.Dockerfile" + username: ${{ secrets.PARITYPR_DOCKERHUB_USERNAME }} + password: ${{ secrets.PARITYPR_DOCKERHUB_PASSWORD }} # # @@ -588,6 +600,8 @@ jobs: with: image-name: "polkadot-parachain-debug" dockerfile: "docker/dockerfiles/polkadot-parachain/polkadot-parachain-debug_unsigned_injected.Dockerfile" + username: ${{ secrets.PARITYPR_DOCKERHUB_USERNAME }} + password: ${{ secrets.PARITYPR_DOCKERHUB_PASSWORD }} confirm-required-build-jobs-passed: runs-on: ubuntu-latest From 982af9709d96bf90636206b504f1cd30ef19d35f Mon Sep 17 00:00:00 2001 From: Evgeny Snitko Date: Thu, 24 Apr 2025 18:04:06 +0400 Subject: [PATCH 3/8] image version fix --- .github/actions/build-push-image/action.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/actions/build-push-image/action.yml b/.github/actions/build-push-image/action.yml index 44dd139296a01..8b20dbb177310 100644 --- a/.github/actions/build-push-image/action.yml +++ b/.github/actions/build-push-image/action.yml @@ -61,6 +61,8 @@ runs: shell: bash if: ${{ inputs.pushToDockerhub }} run: | - docker tag ${{ env.IMAGE_TAG }} docker.io/paritypr/${{ inputs.image-name }}:$DOCKER_IMAGES_VERSION + export DOCKERHUB_TAG=docker.io/paritypr/${{ inputs.image-name }}:${{ github.event.pull_request.head.sha }} + docker tag ${{ env.IMAGE_TAG }} $DOCKERHUB_TAG + docker push $DOCKERHUB_TAG From 299e45c645d84d85e3d8d681e8f5583dd829410b Mon Sep 17 00:00:00 2001 From: Evgeny Snitko Date: Thu, 24 Apr 2025 18:17:21 +0400 Subject: [PATCH 4/8] fix vars mess --- .github/actions/build-push-image/action.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/actions/build-push-image/action.yml b/.github/actions/build-push-image/action.yml index 8b20dbb177310..39c3a54bc1afb 100644 --- a/.github/actions/build-push-image/action.yml +++ b/.github/actions/build-push-image/action.yml @@ -36,7 +36,7 @@ runs: shell: bash env: ZOMBIENET_IMAGE: "docker.io/paritytech/zombienet:v1.3.105" - IMAGE_TAG: europe-docker.pkg.dev/parity-ci-2024/temp-images/${{ inputs.image-name }}:$DOCKER_IMAGES_VERSION + IMAGE_TAG: europe-docker.pkg.dev/parity-ci-2024/temp-images/${{ inputs.image-name }} run: | export DOCKER_IMAGES_VERSION=${{ github.event.pull_request.head.sha }} if [[ ${{ github.event_name }} == "merge_group" ]]; then export DOCKER_IMAGES_VERSION="${GITHUB_SHA::8}"; fi @@ -45,10 +45,10 @@ runs: --build-arg BUILD_DATE="$(date -u '+%Y-%m-%dT%H:%M:%SZ')" \ --build-arg IMAGE_NAME="${{ inputs.image-name }}" \ --build-arg ZOMBIENET_IMAGE="${ZOMBIENET_IMAGE}" \ - -t "${{ env.IMAGE_TAG }}" \ + -t "${{ env.IMAGE_TAG }}:$DOCKER_IMAGES_VERSION" \ -f ${{ inputs.dockerfile }} \ . - docker push "${{ inputs.image-name }}:$DOCKER_IMAGES_VERSION" + docker push "${{ env.IMAGE_TAG }}:$DOCKER_IMAGES_VERSION" - name: login to dockerhub if: ${{ inputs.pushToDockerhub }} @@ -61,8 +61,10 @@ runs: shell: bash if: ${{ inputs.pushToDockerhub }} run: | - export DOCKERHUB_TAG=docker.io/paritypr/${{ inputs.image-name }}:${{ github.event.pull_request.head.sha }} - docker tag ${{ env.IMAGE_TAG }} $DOCKERHUB_TAG + export DOCKER_IMAGES_VERSION=${{ github.event.pull_request.head.sha }} + if [[ ${{ github.event_name }} == "merge_group" ]]; then export DOCKER_IMAGES_VERSION="${GITHUB_SHA::8}"; fi + export DOCKERHUB_TAG=docker.io/paritypr/${{ inputs.image-name }}:$DOCKER_IMAGES_VERSION + docker tag "europe-docker.pkg.dev/parity-ci-2024/temp-images/${{ inputs.image-name }}:$DOCKER_IMAGES_VERSION" $DOCKERHUB_TAG docker push $DOCKERHUB_TAG From dd8a2836af5bb02c324571c0e3a1a2160040d0a8 Mon Sep 17 00:00:00 2001 From: Evgeny Snitko Date: Thu, 24 Apr 2025 19:32:01 +0400 Subject: [PATCH 5/8] empty secrets check --- .github/actions/build-push-image/action.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/actions/build-push-image/action.yml b/.github/actions/build-push-image/action.yml index 39c3a54bc1afb..6d784dbecc71d 100644 --- a/.github/actions/build-push-image/action.yml +++ b/.github/actions/build-push-image/action.yml @@ -6,13 +6,12 @@ inputs: image-name: description: "image name (without registry)" required: true - pushToDockerhub: - description: "" - default: true username: required: false + default: "" password: required: false + default: "" outputs: branch: description: "Branch name for the PR" @@ -51,7 +50,9 @@ runs: docker push "${{ env.IMAGE_TAG }}:$DOCKER_IMAGES_VERSION" - name: login to dockerhub - if: ${{ inputs.pushToDockerhub }} + id: login + # fork check + if: ${{ inputs.username != '' && inputs.password != '' }} uses: docker/login-action@v3 with: username: ${{ inputs.username }} @@ -59,11 +60,11 @@ runs: - name: push to dockerhub shell: bash - if: ${{ inputs.pushToDockerhub }} + needs: [login] run: | export DOCKER_IMAGES_VERSION=${{ github.event.pull_request.head.sha }} if [[ ${{ github.event_name }} == "merge_group" ]]; then export DOCKER_IMAGES_VERSION="${GITHUB_SHA::8}"; fi - export DOCKERHUB_TAG=docker.io/paritypr/${{ inputs.image-name }}:$DOCKER_IMAGES_VERSION + export DOCKERHUB_TAG=docker.io/paritypr/${{ inputs.image-name }}:${{ github.event.pull_request.number }}-${GITHUB_SHA::8} docker tag "europe-docker.pkg.dev/parity-ci-2024/temp-images/${{ inputs.image-name }}:$DOCKER_IMAGES_VERSION" $DOCKERHUB_TAG docker push $DOCKERHUB_TAG From 14dda58792a7eb65da56eb618f9b296082b635f8 Mon Sep 17 00:00:00 2001 From: Evgeny Snitko Date: Fri, 25 Apr 2025 15:41:37 +0400 Subject: [PATCH 6/8] master-* tag --- .github/actions/build-push-image/action.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/actions/build-push-image/action.yml b/.github/actions/build-push-image/action.yml index 6d784dbecc71d..94b8eb4efbb41 100644 --- a/.github/actions/build-push-image/action.yml +++ b/.github/actions/build-push-image/action.yml @@ -52,7 +52,7 @@ runs: - name: login to dockerhub id: login # fork check - if: ${{ inputs.username != '' && inputs.password != '' }} + if: ${{ inputs.username != '' && inputs.password != '' && github.event_name != "merge_group" }} uses: docker/login-action@v3 with: username: ${{ inputs.username }} @@ -63,8 +63,7 @@ runs: needs: [login] run: | export DOCKER_IMAGES_VERSION=${{ github.event.pull_request.head.sha }} - if [[ ${{ github.event_name }} == "merge_group" ]]; then export DOCKER_IMAGES_VERSION="${GITHUB_SHA::8}"; fi - export DOCKERHUB_TAG=docker.io/paritypr/${{ inputs.image-name }}:${{ github.event.pull_request.number }}-${GITHUB_SHA::8} + export DOCKERHUB_TAG=docker.io/paritypr/${{ inputs.image-name }}:${{ github.event.pull_request.number || 'master' }}-${GITHUB_SHA::8} docker tag "europe-docker.pkg.dev/parity-ci-2024/temp-images/${{ inputs.image-name }}:$DOCKER_IMAGES_VERSION" $DOCKERHUB_TAG docker push $DOCKERHUB_TAG From cc72d04eaba020f42e8d819b18ff5e6fb8ebbfd4 Mon Sep 17 00:00:00 2001 From: Evgeny Snitko Date: Fri, 25 Apr 2025 15:49:20 +0400 Subject: [PATCH 7/8] "" fix --- .github/actions/build-push-image/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/build-push-image/action.yml b/.github/actions/build-push-image/action.yml index 94b8eb4efbb41..38d666630691f 100644 --- a/.github/actions/build-push-image/action.yml +++ b/.github/actions/build-push-image/action.yml @@ -52,7 +52,7 @@ runs: - name: login to dockerhub id: login # fork check - if: ${{ inputs.username != '' && inputs.password != '' && github.event_name != "merge_group" }} + if: ${{ inputs.username != '' && inputs.password != '' && github.event_name != 'merge_group' }} uses: docker/login-action@v3 with: username: ${{ inputs.username }} From 54a5f42946ab7ab33f046a6c371d7561fc44c553 Mon Sep 17 00:00:00 2001 From: Evgeny Snitko Date: Fri, 25 Apr 2025 16:31:19 +0400 Subject: [PATCH 8/8] step if --- .github/actions/build-push-image/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/build-push-image/action.yml b/.github/actions/build-push-image/action.yml index 38d666630691f..7aed5d1891e49 100644 --- a/.github/actions/build-push-image/action.yml +++ b/.github/actions/build-push-image/action.yml @@ -60,7 +60,7 @@ runs: - name: push to dockerhub shell: bash - needs: [login] + if: ${{ inputs.username != '' && inputs.password != '' && github.event_name != 'merge_group' }} run: | export DOCKER_IMAGES_VERSION=${{ github.event.pull_request.head.sha }} export DOCKERHUB_TAG=docker.io/paritypr/${{ inputs.image-name }}:${{ github.event.pull_request.number || 'master' }}-${GITHUB_SHA::8}