From 4b0e014e4152d1b806c7fabf54928432e05b2813 Mon Sep 17 00:00:00 2001 From: zerg-su <65297783+zerg-su@users.noreply.github.com> Date: Sun, 25 Aug 2024 13:46:00 +0300 Subject: [PATCH] Ci/push to dockerhub (#2190) * update dockerhub push --------- Co-authored-by: Kirill Azovtsev --- .github/workflows/test.yml | 22 +++++++++++++++++++++- housekeeping/docker/kagome-dev/Makefile | 24 ++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 18c655b1b2..d538e730aa 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -347,7 +347,7 @@ jobs: DOCKER_REGISTRY_PATH=${DOCKER_REGISTRY_PATH} \ BUILD_TYPE=${{ matrix.options.build_type }} - - name: "Push Docker Image" + - name: "Push Docker Image to GCR" if: env.package_exist == 'False' working-directory: ./housekeeping/docker/kagome-dev run: make kagome_image_push \ @@ -356,6 +356,26 @@ jobs: GIT_REF_NAME=${{ env.GIT_REF_NAME }} \ IS_MAIN_OR_TAG=${{ env.IS_MAIN_OR_TAG }} + - name: "Login to Docker Hub" + uses: docker/login-action@v3 + if: ${{ + (env.package_exist == 'False') && + (matrix.options.build_type == 'Release') }} + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_TOKEN }} + + - name: "Push Docker Image to Docker Hub" + if: ${{ + (env.package_exist == 'False') && + (matrix.options.build_type == 'Release') }} + working-directory: ./housekeeping/docker/kagome-dev + run: make kagome_image_push_dockerhub \ + DOCKER_REGISTRY_PATH=${DOCKER_REGISTRY_PATH} \ + BUILD_TYPE=${{ matrix.options.build_type }} \ + GIT_REF_NAME=${{ env.GIT_REF_NAME }} \ + IS_MAIN_OR_TAG=${{ env.IS_MAIN_OR_TAG }} + - name: "Cleaning cache" if: env.package_exist == 'False' run: | diff --git a/housekeeping/docker/kagome-dev/Makefile b/housekeeping/docker/kagome-dev/Makefile index 7f4856e96f..b3d51cf87f 100644 --- a/housekeeping/docker/kagome-dev/Makefile +++ b/housekeeping/docker/kagome-dev/Makefile @@ -3,6 +3,7 @@ MINIDEB_IMAGE ?= bitnami/minideb@sha256:6cc3baf349947d587a9cd4971e81ff3ffc0d17382f2b5b6de63d6542bff10c16 ## DOCKER_REGISTRY_PATH empty for local usage DOCKER_REGISTRY_PATH ?= +DOCKERHUB_REGISTRY_PATH ?= qdrvm/kagome GOOGLE_APPLICATION_CREDENTIALS ?= PLATFORM ?= linux/amd64 ARCHITECTURE ?= x86_64 @@ -262,3 +263,26 @@ kagome_image_push: docker push $(DOCKER_REGISTRY_PATH)kagome_$${BUILD_TYPE_LOWER}:$${GIT_REF_NAME}; \ fi \ fi + +kagome_image_push_dockerhub: + BUILD_TYPE_LOWER="release" ; \ + SHORT_COMMIT_HASH=$$(grep 'short_commit_hash:' commit_hash.txt | cut -d ' ' -f 2); \ + if [ "$(IS_MAIN_OR_TAG)" = "true" ]; then \ + if [ "$(GIT_REF_NAME)" = "master" ]; then \ + MAIN_TAG="$${SHORT_COMMIT_HASH}-master"; \ + docker tag $(DOCKER_REGISTRY_PATH)kagome_$${BUILD_TYPE_LOWER}:$${SHORT_COMMIT_HASH} \ + $(DOCKERHUB_REGISTRY_PATH):$${MAIN_TAG}; \ + docker tag $(DOCKER_REGISTRY_PATH)kagome_$${BUILD_TYPE_LOWER}:$${SHORT_COMMIT_HASH} \ + $(DOCKERHUB_REGISTRY_PATH):master; \ + docker push $(DOCKERHUB_REGISTRY_PATH):$${MAIN_TAG}; \ + docker push $(DOCKERHUB_REGISTRY_PATH):master; \ + elif [ -n "$(GIT_REF_NAME)" ]; then \ + docker tag $(DOCKER_REGISTRY_PATH)kagome_$${BUILD_TYPE_LOWER}:$${SHORT_COMMIT_HASH} \ + $(DOCKERHUB_REGISTRY_PATH):$${GIT_REF_NAME}; \ + docker tag $(DOCKER_REGISTRY_PATH)kagome_$${BUILD_TYPE_LOWER}:$${SHORT_COMMIT_HASH} \ + $(DOCKERHUB_REGISTRY_PATH):latest; \ + docker push $(DOCKERHUB_REGISTRY_PATH):$${GIT_REF_NAME}; \ + docker push $(DOCKERHUB_REGISTRY_PATH):latest; \ + fi \ + fi + \ No newline at end of file