From 052720f01b88597b6e2e7b76ee536bc9817680a1 Mon Sep 17 00:00:00 2001 From: shahnawaz-creator Date: Sun, 14 Apr 2024 18:07:59 +0200 Subject: [PATCH 1/9] buidling blobber image without buildx --- .../build-&-publish-docker-image.yml | 45 +++++++++++++------ 1 file changed, 32 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build-&-publish-docker-image.yml b/.github/workflows/build-&-publish-docker-image.yml index 2c4a24874..936b0a764 100644 --- a/.github/workflows/build-&-publish-docker-image.yml +++ b/.github/workflows/build-&-publish-docker-image.yml @@ -11,6 +11,12 @@ on: - '*' pull_request: workflow_dispatch: + inputs: + latest_tag: + description: 'type yes for building latest / staging tag' + default: 'no' + required: true + env: BLOBBER_REGISTRY: ${{ secrets.BLOBBER_REGISTRY }} @@ -22,7 +28,7 @@ env: jobs: blobber: timeout-minutes: 30 - runs-on: [blobber-runner] + runs-on: [arc-runner] steps: - name: Cleanup before restarting conductor tests. run: | @@ -71,11 +77,12 @@ jobs: docker tag $BLOBBER_BUILD_BASE_REGISTRY:staging $BLOBBER_BUILDBASE - name: Build Base image - # if: contains(steps.changed-files.outputs.modified_files, 'docker.local/base.Dockerfile') + if: contains(steps.changed-files.outputs.modified_files, 'docker.local/base.Dockerfile') run: | SHORT_SHA=$(echo ${{ env.SHA }} | head -c 8) - ./docker.local/bin/build.base.sh && + # ./docker.local/bin/build.base.sh && + docker build -f docker.local/base.Dockerfile . -t $BLOBBER_BUILDBASE docker tag $BLOBBER_BUILDBASE $BLOBBER_BUILD_BASE_REGISTRY:$TAG docker tag $BLOBBER_BUILDBASE $BLOBBER_BUILD_BASE_REGISTRY:$TAG-$SHORT_SHA docker push $BLOBBER_BUILD_BASE_REGISTRY:$TAG @@ -83,19 +90,31 @@ jobs: - name: Build blobber run: | + # export DOCKER_IMAGE_BASE="$BLOBBER_BUILD_BASE_REGISTRY:$TAG" + # export DOCKER_IMAGE_SWAGGER="${BLOBBER_REGISTRY}:swagger_test" + # # export DOCKER_BUILD="buildx build --platform linux/amd64,linux/arm64 --push" + # export DOCKER_BUILD="build --push" + # export DOCKER_IMAGE_BLOBBER="-t ${BLOBBER_REGISTRY}:${TAG}" + # export CONTEXT_NAME="$RUNNER_NAME" && (docker context inspect "$CONTEXT_NAME" >/dev/null 2>&1 || docker context create "$CONTEXT_NAME") + # docker buildx inspect "blobber-$RUNNER_NAME" || docker buildx create --name "blobber-$RUNNER_NAME" --driver-opt network=host --buildkitd-flags '--allow-insecure-entitlement security.insecure' "$CONTEXT_NAME" + # docker buildx use "blobber-$RUNNER_NAME" + # ./docker.local/bin/build.blobber.sh + # docker tag ${BLOBBER_REGISTRY}:${TAG} ${BLOBBER_REGISTRY}:${TAG}-${SHORT_SHA} + # docker push ${BLOBBER_REGISTRY}:${TAG}-${SHORT_SHA} + + docker build --build-arg GIT_COMMIT=$GITHUB_SHA --build-arg DOCKER_IMAGE_BASE=$DOCKER_IMAGE_BASE -t ${BLOBBER_REGISTRY}:latest -f docker.local/blobber.Dockerfile . + docker tag ${BLOBBER_REGISTRY}:latest ${BLOBBER_REGISTRY}:${TAG} + docker push ${BLOBBER_REGISTRY}:${TAG} + SHORT_SHA=$(echo ${{ env.SHA }} | head -c 8) - export DOCKER_IMAGE_BASE="$BLOBBER_BUILD_BASE_REGISTRY:$TAG" - export DOCKER_IMAGE_SWAGGER="${BLOBBER_REGISTRY}:swagger_test" - # export DOCKER_BUILD="buildx build --platform linux/amd64,linux/arm64 --push" - export DOCKER_BUILD="build --push" - export DOCKER_IMAGE_BLOBBER="-t ${BLOBBER_REGISTRY}:${TAG}" - export CONTEXT_NAME="$RUNNER_NAME" && (docker context inspect "$CONTEXT_NAME" >/dev/null 2>&1 || docker context create "$CONTEXT_NAME") - docker buildx inspect "blobber-$RUNNER_NAME" || docker buildx create --name "blobber-$RUNNER_NAME" --driver-opt network=host --buildkitd-flags '--allow-insecure-entitlement security.insecure' "$CONTEXT_NAME" - docker buildx use "blobber-$RUNNER_NAME" - ./docker.local/bin/build.blobber.sh - docker tag ${BLOBBER_REGISTRY}:${TAG} ${BLOBBER_REGISTRY}:${TAG}-${SHORT_SHA} + docker tag ${BLOBBER_REGISTRY}:latest ${BLOBBER_REGISTRY}:${TAG}-${SHORT_SHA} docker push ${BLOBBER_REGISTRY}:${TAG}-${SHORT_SHA} + - name: Push latest + if: ${{ github.event.inputs.latest_tag == 'yes' || github.ref == 'refs/heads/master' }} + run: | + docker push ${BLOBBER_REGISTRY}:latest + validator: timeout-minutes: 30 runs-on: [blobber-runner] From 1987e4656ce7f3083757dba6df610bc05ccf03b8 Mon Sep 17 00:00:00 2001 From: shahnawaz-creator Date: Sun, 14 Apr 2024 18:10:12 +0200 Subject: [PATCH 2/9] removed buildx installations --- .github/workflows/build-&-publish-docker-image.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-&-publish-docker-image.yml b/.github/workflows/build-&-publish-docker-image.yml index 936b0a764..fac5d9a9a 100644 --- a/.github/workflows/build-&-publish-docker-image.yml +++ b/.github/workflows/build-&-publish-docker-image.yml @@ -58,8 +58,8 @@ jobs: with: fetch-depth: 0 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + # - name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v3 - name: Login to Docker Hub uses: docker/login-action@v1 From 95c10a3c420061acb018203cbcd3fdc9f12a9d76 Mon Sep 17 00:00:00 2001 From: shahnawaz-creator Date: Sun, 14 Apr 2024 18:13:49 +0200 Subject: [PATCH 3/9] export DOCKER_IMAGE_BASE --- .../build-&-publish-docker-image.yml | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build-&-publish-docker-image.yml b/.github/workflows/build-&-publish-docker-image.yml index fac5d9a9a..5486b79e1 100644 --- a/.github/workflows/build-&-publish-docker-image.yml +++ b/.github/workflows/build-&-publish-docker-image.yml @@ -30,11 +30,11 @@ jobs: timeout-minutes: 30 runs-on: [arc-runner] steps: - - name: Cleanup before restarting conductor tests. - run: | - echo 'y' | docker system prune -a || true - cd /tmp - sudo rm -rf ./* + # - name: Cleanup before restarting conductor tests. + # run: | + # echo 'y' | docker system prune -a || true + # cd /tmp + # sudo rm -rf ./* - name: Set docker image tag run: | @@ -48,10 +48,10 @@ jobs: echo "BRANCH=$([ -z '${{ github.event.pull_request.head.sha }}' ] && echo ${GITHUB_REF#refs/*/} || echo $GITHUB_HEAD_REF)" >> $GITHUB_ENV echo "SHA=$([ -z '${{ github.event.pull_request.head.sha }}' ] && echo $GITHUB_SHA || echo '${{ github.event.pull_request.head.sha }}')" >> $GITHUB_ENV - - name: Setup go - uses: actions/setup-go@v4 - with: - go-version: ^1.21 # The Go version to download (if necessary) and use. + # - name: Setup go + # uses: actions/setup-go@v4 + # with: + # go-version: ^1.21 # The Go version to download (if necessary) and use. - name: Clone blobber uses: actions/checkout@v3 @@ -90,7 +90,7 @@ jobs: - name: Build blobber run: | - # export DOCKER_IMAGE_BASE="$BLOBBER_BUILD_BASE_REGISTRY:$TAG" + export DOCKER_IMAGE_BASE="$BLOBBER_BUILD_BASE_REGISTRY:$TAG" # export DOCKER_IMAGE_SWAGGER="${BLOBBER_REGISTRY}:swagger_test" # # export DOCKER_BUILD="buildx build --platform linux/amd64,linux/arm64 --push" # export DOCKER_BUILD="build --push" From f14c1a93a54d5e043aef8e9c7f3f0972be34aa34 Mon Sep 17 00:00:00 2001 From: shahnawaz-creator Date: Sun, 14 Apr 2024 18:22:47 +0200 Subject: [PATCH 4/9] pull blobber build base registery --- .github/workflows/build-&-publish-docker-image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-&-publish-docker-image.yml b/.github/workflows/build-&-publish-docker-image.yml index 5486b79e1..7eac30d18 100644 --- a/.github/workflows/build-&-publish-docker-image.yml +++ b/.github/workflows/build-&-publish-docker-image.yml @@ -90,7 +90,7 @@ jobs: - name: Build blobber run: | - export DOCKER_IMAGE_BASE="$BLOBBER_BUILD_BASE_REGISTRY:$TAG" + export DOCKER_IMAGE_BASE="$BLOBBER_BUILD_BASE_REGISTRY:staging" # export DOCKER_IMAGE_SWAGGER="${BLOBBER_REGISTRY}:swagger_test" # # export DOCKER_BUILD="buildx build --platform linux/amd64,linux/arm64 --push" # export DOCKER_BUILD="build --push" From fed43c6fa457d967eb570b1a4d88553e902029ac Mon Sep 17 00:00:00 2001 From: shahnawaz-creator Date: Sun, 14 Apr 2024 18:24:51 +0200 Subject: [PATCH 5/9] build blobber base image --- .github/workflows/build-&-publish-docker-image.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-&-publish-docker-image.yml b/.github/workflows/build-&-publish-docker-image.yml index 7eac30d18..6c927bc65 100644 --- a/.github/workflows/build-&-publish-docker-image.yml +++ b/.github/workflows/build-&-publish-docker-image.yml @@ -71,13 +71,13 @@ jobs: id: changed-files uses: tj-actions/changed-files@v18.4 - - name: Pull Build Base - run: | - docker pull $BLOBBER_BUILD_BASE_REGISTRY:staging - docker tag $BLOBBER_BUILD_BASE_REGISTRY:staging $BLOBBER_BUILDBASE + # - name: Pull Build Base + # run: | + # docker pull $BLOBBER_BUILD_BASE_REGISTRY:staging + # docker tag $BLOBBER_BUILD_BASE_REGISTRY:staging $BLOBBER_BUILDBASE - name: Build Base image - if: contains(steps.changed-files.outputs.modified_files, 'docker.local/base.Dockerfile') + # if: contains(steps.changed-files.outputs.modified_files, 'docker.local/base.Dockerfile') run: | SHORT_SHA=$(echo ${{ env.SHA }} | head -c 8) @@ -90,7 +90,7 @@ jobs: - name: Build blobber run: | - export DOCKER_IMAGE_BASE="$BLOBBER_BUILD_BASE_REGISTRY:staging" + export DOCKER_IMAGE_BASE="$BLOBBER_BUILD_BASE_REGISTRY:$TAG" # export DOCKER_IMAGE_SWAGGER="${BLOBBER_REGISTRY}:swagger_test" # # export DOCKER_BUILD="buildx build --platform linux/amd64,linux/arm64 --push" # export DOCKER_BUILD="build --push" From 9c5cb1568ec642371aed7898a50445e6293e9670 Mon Sep 17 00:00:00 2001 From: shahnawaz-creator Date: Sun, 14 Apr 2024 19:13:14 +0200 Subject: [PATCH 6/9] fixed build blobber build image --- .../build-&-publish-docker-image.yml | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-&-publish-docker-image.yml b/.github/workflows/build-&-publish-docker-image.yml index 6c927bc65..16515f2db 100644 --- a/.github/workflows/build-&-publish-docker-image.yml +++ b/.github/workflows/build-&-publish-docker-image.yml @@ -54,9 +54,9 @@ jobs: # go-version: ^1.21 # The Go version to download (if necessary) and use. - name: Clone blobber - uses: actions/checkout@v3 - with: - fetch-depth: 0 + uses: actions/checkout@v4 + # with: + # fetch-depth: 0 # - name: Set up Docker Buildx # uses: docker/setup-buildx-action@v3 @@ -71,13 +71,13 @@ jobs: id: changed-files uses: tj-actions/changed-files@v18.4 - # - name: Pull Build Base - # run: | - # docker pull $BLOBBER_BUILD_BASE_REGISTRY:staging - # docker tag $BLOBBER_BUILD_BASE_REGISTRY:staging $BLOBBER_BUILDBASE + - name: Pull Build Base + run: | + docker pull $BLOBBER_BUILD_BASE_REGISTRY:staging + docker tag $BLOBBER_BUILD_BASE_REGISTRY:staging $BLOBBER_BUILDBASE - name: Build Base image - # if: contains(steps.changed-files.outputs.modified_files, 'docker.local/base.Dockerfile') + if: contains(steps.changed-files.outputs.modified_files, 'docker.local/base.Dockerfile') run: | SHORT_SHA=$(echo ${{ env.SHA }} | head -c 8) @@ -90,7 +90,7 @@ jobs: - name: Build blobber run: | - export DOCKER_IMAGE_BASE="$BLOBBER_BUILD_BASE_REGISTRY:$TAG" + export DOCKER_IMAGE_BASE="$BLOBBER_BUILD_BASE_REGISTRY:staging" # export DOCKER_IMAGE_SWAGGER="${BLOBBER_REGISTRY}:swagger_test" # # export DOCKER_BUILD="buildx build --platform linux/amd64,linux/arm64 --push" # export DOCKER_BUILD="build --push" @@ -102,6 +102,10 @@ jobs: # docker tag ${BLOBBER_REGISTRY}:${TAG} ${BLOBBER_REGISTRY}:${TAG}-${SHORT_SHA} # docker push ${BLOBBER_REGISTRY}:${TAG}-${SHORT_SHA} + echo "building swagger file" + docker build --build-arg DOCKER_IMAGE_BASE=$DOCKER_IMAGE_BASE -f docker.local/Dockerfile.swagger . -t swagger + docker run -v $(pwd):/codecov swagger bash -c "cd /codecov/code/go/0chain.net/; swagger generate spec -w . -m -o swagger.yaml; swagger generate markdown -f swagger.yaml --output=swagger.md" + docker build --build-arg GIT_COMMIT=$GITHUB_SHA --build-arg DOCKER_IMAGE_BASE=$DOCKER_IMAGE_BASE -t ${BLOBBER_REGISTRY}:latest -f docker.local/blobber.Dockerfile . docker tag ${BLOBBER_REGISTRY}:latest ${BLOBBER_REGISTRY}:${TAG} docker push ${BLOBBER_REGISTRY}:${TAG} From 187cd3b916642551d68ace45a8437f97e2b02675 Mon Sep 17 00:00:00 2001 From: shahnawaz-creator Date: Sun, 14 Apr 2024 19:16:57 +0200 Subject: [PATCH 7/9] dockerfile cleanup --- docker.local/blobber.Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker.local/blobber.Dockerfile b/docker.local/blobber.Dockerfile index 49ad0da4f..88bc74d49 100644 --- a/docker.local/blobber.Dockerfile +++ b/docker.local/blobber.Dockerfile @@ -25,9 +25,9 @@ FROM alpine:3.18 RUN apk add --update --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/main libstdc++ gmp openssl vips -COPY --from=blobber_build /usr/local/lib/libmcl*.so \ - /usr/local/lib/libbls*.so \ - /usr/local/lib/ +# COPY --from=blobber_build /usr/local/lib/libmcl*.so \ +# /usr/local/lib/libbls*.so \ +# /usr/local/lib/ ENV APP_DIR=/blobber WORKDIR $APP_DIR From c5fe826d2a15f7fb30b5f06e97ae2222227e2c3e Mon Sep 17 00:00:00 2001 From: shahnawaz-creator Date: Sun, 14 Apr 2024 19:41:59 +0200 Subject: [PATCH 8/9] optimised validator build as well. --- .../build-&-publish-docker-image.yml | 76 ++++++------------- docker.local/validator.Dockerfile | 6 +- 2 files changed, 27 insertions(+), 55 deletions(-) diff --git a/.github/workflows/build-&-publish-docker-image.yml b/.github/workflows/build-&-publish-docker-image.yml index 16515f2db..d3a37c74f 100644 --- a/.github/workflows/build-&-publish-docker-image.yml +++ b/.github/workflows/build-&-publish-docker-image.yml @@ -21,7 +21,6 @@ on: env: BLOBBER_REGISTRY: ${{ secrets.BLOBBER_REGISTRY }} VALIDATOR_REGISTRY: ${{ secrets.VALIDATOR_REGISTRY }} - DOCKER_CLI_EXPERIMENTAL: enabled BLOBBER_BUILDBASE: blobber_base BLOBBER_BUILD_BASE_REGISTRY: ${{ secrets.BLOBBER_BUILD_BASE_REGISTRY }} @@ -30,11 +29,6 @@ jobs: timeout-minutes: 30 runs-on: [arc-runner] steps: - # - name: Cleanup before restarting conductor tests. - # run: | - # echo 'y' | docker system prune -a || true - # cd /tmp - # sudo rm -rf ./* - name: Set docker image tag run: | @@ -48,18 +42,8 @@ jobs: echo "BRANCH=$([ -z '${{ github.event.pull_request.head.sha }}' ] && echo ${GITHUB_REF#refs/*/} || echo $GITHUB_HEAD_REF)" >> $GITHUB_ENV echo "SHA=$([ -z '${{ github.event.pull_request.head.sha }}' ] && echo $GITHUB_SHA || echo '${{ github.event.pull_request.head.sha }}')" >> $GITHUB_ENV - # - name: Setup go - # uses: actions/setup-go@v4 - # with: - # go-version: ^1.21 # The Go version to download (if necessary) and use. - - name: Clone blobber uses: actions/checkout@v4 - # with: - # fetch-depth: 0 - - # - name: Set up Docker Buildx - # uses: docker/setup-buildx-action@v3 - name: Login to Docker Hub uses: docker/login-action@v1 @@ -81,26 +65,15 @@ jobs: run: | SHORT_SHA=$(echo ${{ env.SHA }} | head -c 8) - # ./docker.local/bin/build.base.sh && docker build -f docker.local/base.Dockerfile . -t $BLOBBER_BUILDBASE - docker tag $BLOBBER_BUILDBASE $BLOBBER_BUILD_BASE_REGISTRY:$TAG + docker tag $BLOBBER_BUILDBASE $BLOBBER_BUILD_BASE_REGISTRY:staging docker tag $BLOBBER_BUILDBASE $BLOBBER_BUILD_BASE_REGISTRY:$TAG-$SHORT_SHA - docker push $BLOBBER_BUILD_BASE_REGISTRY:$TAG + docker push $BLOBBER_BUILD_BASE_REGISTRY:staging docker push $BLOBBER_BUILD_BASE_REGISTRY:$TAG-$SHORT_SHA - name: Build blobber run: | export DOCKER_IMAGE_BASE="$BLOBBER_BUILD_BASE_REGISTRY:staging" - # export DOCKER_IMAGE_SWAGGER="${BLOBBER_REGISTRY}:swagger_test" - # # export DOCKER_BUILD="buildx build --platform linux/amd64,linux/arm64 --push" - # export DOCKER_BUILD="build --push" - # export DOCKER_IMAGE_BLOBBER="-t ${BLOBBER_REGISTRY}:${TAG}" - # export CONTEXT_NAME="$RUNNER_NAME" && (docker context inspect "$CONTEXT_NAME" >/dev/null 2>&1 || docker context create "$CONTEXT_NAME") - # docker buildx inspect "blobber-$RUNNER_NAME" || docker buildx create --name "blobber-$RUNNER_NAME" --driver-opt network=host --buildkitd-flags '--allow-insecure-entitlement security.insecure' "$CONTEXT_NAME" - # docker buildx use "blobber-$RUNNER_NAME" - # ./docker.local/bin/build.blobber.sh - # docker tag ${BLOBBER_REGISTRY}:${TAG} ${BLOBBER_REGISTRY}:${TAG}-${SHORT_SHA} - # docker push ${BLOBBER_REGISTRY}:${TAG}-${SHORT_SHA} echo "building swagger file" docker build --build-arg DOCKER_IMAGE_BASE=$DOCKER_IMAGE_BASE -f docker.local/Dockerfile.swagger . -t swagger @@ -121,14 +94,8 @@ jobs: validator: timeout-minutes: 30 - runs-on: [blobber-runner] + runs-on: [arc-runner] steps: - - name: Cleanup before restarting conductor tests. - run: | - echo 'y' | docker system prune -a || true - cd /tmp - sudo rm -rf ./* - - name: Set docker image tag run: | if [[ "${{github.ref}}" == refs/pull/* ]]; then @@ -141,18 +108,9 @@ jobs: echo "BRANCH=$([ -z '${{ github.event.pull_request.head.sha }}' ] && echo ${GITHUB_REF#refs/*/} || echo $GITHUB_HEAD_REF)" >> $GITHUB_ENV echo "SHA=$([ -z '${{ github.event.pull_request.head.sha }}' ] && echo $GITHUB_SHA || echo '${{ github.event.pull_request.head.sha }}')" >> $GITHUB_ENV - - name: Setup go - uses: actions/setup-go@v4 - with: - go-version: ^1.21 # The Go version to download (if necessary) and use. - - name: Clone blobber - uses: actions/checkout@v3 - with: - fetch-depth: 0 + uses: actions/checkout@v4 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - name: Login to Docker Hub uses: docker/login-action@v1 with: @@ -162,8 +120,6 @@ jobs: - name: Get changed files using defaults id: changed-files uses: tj-actions/changed-files@v18.4 - with: - fetch-depth: 0 - name: Pull Build Base run: | @@ -171,14 +127,14 @@ jobs: docker tag $BLOBBER_BUILD_BASE_REGISTRY:staging $BLOBBER_BUILDBASE - name: Build Base image - # if: contains(steps.changed-files.outputs.modified_files, 'docker.local/base.Dockerfile') + if: contains(steps.changed-files.outputs.modified_files, 'docker.local/base.Dockerfile') run: | SHORT_SHA=$(echo ${{ env.SHA }} | head -c 8) - ./docker.local/bin/build.base.sh - docker tag $BLOBBER_BUILDBASE $BLOBBER_BUILD_BASE_REGISTRY:$TAG + docker build -f docker.local/base.Dockerfile . -t $BLOBBER_BUILDBASE + docker tag $BLOBBER_BUILDBASE $BLOBBER_BUILD_BASE_REGISTRY:staging docker tag $BLOBBER_BUILDBASE $BLOBBER_BUILD_BASE_REGISTRY:$TAG-$SHORT_SHA - docker push $BLOBBER_BUILD_BASE_REGISTRY:$TAG + docker push $BLOBBER_BUILD_BASE_REGISTRY:staging docker push $BLOBBER_BUILD_BASE_REGISTRY:$TAG-$SHORT_SHA - name: Build validator @@ -194,6 +150,22 @@ jobs: ./docker.local/bin/build.validator.sh docker tag ${VALIDATOR_REGISTRY}:${TAG} ${VALIDATOR_REGISTRY}:${TAG}-${SHORT_SHA} docker push ${VALIDATOR_REGISTRY}:${TAG}-${SHORT_SHA} + + + export DOCKER_IMAGE_BASE="$BLOBBER_BUILD_BASE_REGISTRY:staging" + + docker build --build-arg GIT_COMMIT=$GITHUB_SHA --build-arg DOCKER_IMAGE_BASE=$DOCKER_IMAGE_BASE -t ${VALIDATOR_REGISTRY}:latest -f docker.local/validator.Dockerfile . + docker tag ${VALIDATOR_REGISTRY}:latest ${VALIDATOR_REGISTRY}:${TAG} + docker push ${VALIDATOR_REGISTRY}:${TAG} + + SHORT_SHA=$(echo ${{ env.SHA }} | head -c 8) + docker tag ${VALIDATOR_REGISTRY}:latest ${VALIDATOR_REGISTRY}:${TAG}-${SHORT_SHA} + docker push ${VALIDATOR_REGISTRY}:${TAG}-${SHORT_SHA} + + - name: Push latest + if: ${{ github.event.inputs.latest_tag == 'yes' || github.ref == 'refs/heads/master' }} + run: | + docker push ${VALIDATOR_REGISTRY}:latest system-tests: if: github.event_name != 'workflow_dispatch' diff --git a/docker.local/validator.Dockerfile b/docker.local/validator.Dockerfile index 7c1313cc6..25641e552 100644 --- a/docker.local/validator.Dockerfile +++ b/docker.local/validator.Dockerfile @@ -27,9 +27,9 @@ FROM alpine:3.18 RUN apk add --update --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/main libstdc++ gmp openssl vips -COPY --from=validator_build /usr/local/lib/libmcl*.so \ - /usr/local/lib/libbls*.so \ - /usr/local/lib/ +# COPY --from=validator_build /usr/local/lib/libmcl*.so \ +# /usr/local/lib/libbls*.so \ +# /usr/local/lib/ ENV APP_DIR=/validator WORKDIR $APP_DIR COPY --from=validator_build /0chain/code/go/0chain.net/validator/validator $APP_DIR/bin/validator \ No newline at end of file From 156315fca690cd29561ffab5607f51021019b0d8 Mon Sep 17 00:00:00 2001 From: shahnawaz-creator Date: Sun, 14 Apr 2024 19:49:05 +0200 Subject: [PATCH 9/9] optimised validator build as well. --- .github/workflows/build-&-publish-docker-image.yml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/.github/workflows/build-&-publish-docker-image.yml b/.github/workflows/build-&-publish-docker-image.yml index d3a37c74f..79738ee65 100644 --- a/.github/workflows/build-&-publish-docker-image.yml +++ b/.github/workflows/build-&-publish-docker-image.yml @@ -139,19 +139,6 @@ jobs: - name: Build validator run: | - SHORT_SHA=$(echo ${{ env.SHA }} | head -c 8) - export DOCKER_IMAGE_BASE="$BLOBBER_BUILD_BASE_REGISTRY:$TAG" - # export DOCKER_BUILD="buildx build --platform linux/amd64,linux/arm64 --push" - export DOCKER_BUILD="build --push" - export DOCKER_IMAGE_VALIDATOR="-t ${VALIDATOR_REGISTRY}:${TAG}" - export CONTEXT_NAME="$RUNNER_NAME" && (docker context inspect "$CONTEXT_NAME" >/dev/null 2>&1 || docker context create "$CONTEXT_NAME") - docker buildx inspect "validator-$RUNNER_NAME" || docker buildx create --name "validator-$RUNNER_NAME" --driver-opt network=host --buildkitd-flags '--allow-insecure-entitlement security.insecure' "$CONTEXT_NAME" - docker buildx use "validator-$RUNNER_NAME" - ./docker.local/bin/build.validator.sh - docker tag ${VALIDATOR_REGISTRY}:${TAG} ${VALIDATOR_REGISTRY}:${TAG}-${SHORT_SHA} - docker push ${VALIDATOR_REGISTRY}:${TAG}-${SHORT_SHA} - - export DOCKER_IMAGE_BASE="$BLOBBER_BUILD_BASE_REGISTRY:staging" docker build --build-arg GIT_COMMIT=$GITHUB_SHA --build-arg DOCKER_IMAGE_BASE=$DOCKER_IMAGE_BASE -t ${VALIDATOR_REGISTRY}:latest -f docker.local/validator.Dockerfile .