From 34f44611d82dcdd56bd32fb25e6f2b8e11f13a79 Mon Sep 17 00:00:00 2001 From: Leandro Serra Date: Fri, 14 Nov 2025 21:06:51 -0300 Subject: [PATCH 01/16] feat: publish docker --- .../workflows/publish-docker-image-staging-on-demand.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish-docker-image-staging-on-demand.yml b/.github/workflows/publish-docker-image-staging-on-demand.yml index 3dc4250aee30..2cdf96008edf 100644 --- a/.github/workflows/publish-docker-image-staging-on-demand.yml +++ b/.github/workflows/publish-docker-image-staging-on-demand.yml @@ -39,9 +39,9 @@ jobs: context: . file: ./docker/Dockerfile push: true - cache-from: type=registry,ref=ghcr.io/blockscout/blockscout:buildcache - cache-to: type=registry,ref=ghcr.io/blockscout/blockscout:buildcache,mode=max - tags: ghcr.io/blockscout/blockscout-staging:latest, ghcr.io/blockscout/blockscout-staging:${{ env.RELEASE_VERSION }}.commit.${{ env.SHORT_SHA }} + cache-from: type=registry,ref=ghcr.io/lambdaclass/blockscout:buildcache + cache-to: type=registry,ref=ghcr.io/lambdaclass/blockscout:buildcache,mode=max + tags: ghcr.io/lambdaclass/blockscout-staging:latest, ghcr.io/lambdaclass/blockscout-staging:${{ env.RELEASE_VERSION }}.commit.${{ env.SHORT_SHA }} labels: ${{ steps.setup.outputs.docker-labels }} platforms: | linux/amd64 From 7e51665a83f64dd96235424e3d9fd7f363cea5b9 Mon Sep 17 00:00:00 2001 From: Leandro Serra Date: Fri, 14 Nov 2025 21:10:30 -0300 Subject: [PATCH 02/16] feat: fix --- .../publish-docker-image-staging-on-demand.yml | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/.github/workflows/publish-docker-image-staging-on-demand.yml b/.github/workflows/publish-docker-image-staging-on-demand.yml index 2cdf96008edf..6be7e29f7a7a 100644 --- a/.github/workflows/publish-docker-image-staging-on-demand.yml +++ b/.github/workflows/publish-docker-image-staging-on-demand.yml @@ -23,15 +23,16 @@ jobs: name: Push Docker image to GitHub Container Registry runs-on: ubuntu-latest steps: - - uses: actions/checkout@v5 - - name: Setup repo - uses: ./.github/actions/setup-repo - id: setup + - name: Check out repo + uses: actions/checkout@v4 + + - name: Login to GHCR + uses: docker/login-action@v3 with: - github-token: ${{ secrets.GITHUB_TOKEN }} - docker-remote-multi-platform: true - docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }} - docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }} + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Build and push Docker image uses: docker/build-push-action@v6 From ca3dc528b74eef38e605877960f583eb892fbf1f Mon Sep 17 00:00:00 2001 From: Leandro Serra Date: Fri, 14 Nov 2025 21:12:20 -0300 Subject: [PATCH 03/16] fix: more fix --- .github/workflows/publish-docker-image-staging-on-demand.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/publish-docker-image-staging-on-demand.yml b/.github/workflows/publish-docker-image-staging-on-demand.yml index 6be7e29f7a7a..aab166c6b961 100644 --- a/.github/workflows/publish-docker-image-staging-on-demand.yml +++ b/.github/workflows/publish-docker-image-staging-on-demand.yml @@ -40,8 +40,6 @@ jobs: context: . file: ./docker/Dockerfile push: true - cache-from: type=registry,ref=ghcr.io/lambdaclass/blockscout:buildcache - cache-to: type=registry,ref=ghcr.io/lambdaclass/blockscout:buildcache,mode=max tags: ghcr.io/lambdaclass/blockscout-staging:latest, ghcr.io/lambdaclass/blockscout-staging:${{ env.RELEASE_VERSION }}.commit.${{ env.SHORT_SHA }} labels: ${{ steps.setup.outputs.docker-labels }} platforms: | From 58e686b172e8e4c7cce805b04fef72c70828e55c Mon Sep 17 00:00:00 2001 From: Leandro Serra Date: Fri, 14 Nov 2025 21:13:13 -0300 Subject: [PATCH 04/16] fix: multibuild --- .github/workflows/publish-docker-image-staging-on-demand.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/publish-docker-image-staging-on-demand.yml b/.github/workflows/publish-docker-image-staging-on-demand.yml index aab166c6b961..a3496781af62 100644 --- a/.github/workflows/publish-docker-image-staging-on-demand.yml +++ b/.github/workflows/publish-docker-image-staging-on-demand.yml @@ -44,7 +44,6 @@ jobs: labels: ${{ steps.setup.outputs.docker-labels }} platforms: | linux/amd64 - linux/arm64/v8 build-args: | DECODE_NOT_A_CONTRACT_CALLS=false MIXPANEL_URL= From 3aca2608d4ab2afdab34e537841619b6ea17272f Mon Sep 17 00:00:00 2001 From: Leandro Serra Date: Fri, 14 Nov 2025 23:43:57 -0300 Subject: [PATCH 05/16] fix: add short sha --- .github/workflows/publish-docker-image-staging-on-demand.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/publish-docker-image-staging-on-demand.yml b/.github/workflows/publish-docker-image-staging-on-demand.yml index a3496781af62..5778b0fca445 100644 --- a/.github/workflows/publish-docker-image-staging-on-demand.yml +++ b/.github/workflows/publish-docker-image-staging-on-demand.yml @@ -33,6 +33,8 @@ jobs: username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} + - name: Add SHORT_SHA env property with commit short sha + run: echo "SHORT_SHA=${GITHUB_SHA::8}" >> $GITHUB_ENV - name: Build and push Docker image uses: docker/build-push-action@v6 From 6f0c97db567ee86305f830235bdb69e317154cdd Mon Sep 17 00:00:00 2001 From: Leandro Serra Date: Sat, 15 Nov 2025 00:04:28 -0300 Subject: [PATCH 06/16] fix: omit empty envvars --- .github/workflows/publish-docker-image-staging-on-demand.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/publish-docker-image-staging-on-demand.yml b/.github/workflows/publish-docker-image-staging-on-demand.yml index 5778b0fca445..c40b4f541af1 100644 --- a/.github/workflows/publish-docker-image-staging-on-demand.yml +++ b/.github/workflows/publish-docker-image-staging-on-demand.yml @@ -48,9 +48,5 @@ jobs: linux/amd64 build-args: | DECODE_NOT_A_CONTRACT_CALLS=false - MIXPANEL_URL= - MIXPANEL_TOKEN= - AMPLITUDE_URL= - AMPLITUDE_API_KEY= BLOCKSCOUT_VERSION=v${{ env.RELEASE_VERSION }}.+commit.${{ env.SHORT_SHA }} RELEASE_VERSION=${{ env.RELEASE_VERSION }} From d112ce05bea7713733cdce97d38de5d165707c34 Mon Sep 17 00:00:00 2001 From: Leandro Serra Date: Sat, 15 Nov 2025 00:27:25 -0300 Subject: [PATCH 07/16] fix: add some more env vars --- ...publish-docker-image-staging-on-demand.yml | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/.github/workflows/publish-docker-image-staging-on-demand.yml b/.github/workflows/publish-docker-image-staging-on-demand.yml index c40b4f541af1..b308e9bfb11d 100644 --- a/.github/workflows/publish-docker-image-staging-on-demand.yml +++ b/.github/workflows/publish-docker-image-staging-on-demand.yml @@ -50,3 +50,42 @@ jobs: DECODE_NOT_A_CONTRACT_CALLS=false BLOCKSCOUT_VERSION=v${{ env.RELEASE_VERSION }}.+commit.${{ env.SHORT_SHA }} RELEASE_VERSION=${{ env.RELEASE_VERSION }} + ETHEREUM_JSONRPC_VARIANT=geth + ETHEREUM_JSONRPC_HTTP_URL=http://host.docker.internal:1729/ + DISABLE_FILE_LOGGING=false + DATABASE_URL=postgresql://blockscout:ceWb1MeLBEeOIfk65gU8EjF8@db:5432/blockscout + ETHEREUM_JSONRPC_TRANSPORT=http + ETHEREUM_JSONRPC_DISABLE_ARCHIVE_BALANCES=false + ETHEREUM_JSONRPC_TRACE_URL=http://host.docker.internal:1729/ + SECRET_KEY_BASE=56NtB48ear7+wMSf0IQuWDAAazhpb31qyc7GiyspBP2vh7t5zlCsF5QDv76chXeN + PORT=4000 + COIN_NAME=ETH + COIN=Ether + DISABLE_MARKET=true + POOL_SIZE=80 + POOL_SIZE_API=10 + ECTO_USE_SSL=false + HEART_BEAT_TIMEOUT=30 + RELEASE_LINK= + ADMIN_PANEL_ENABLED=false + API_V1_READ_METHODS_DISABLED=false + API_V1_WRITE_METHODS_DISABLED=false + TXS_STATS_DAYS_TO_COMPILE_AT_INIT=10 + COIN_BALANCE_HISTORY_DAYS=90 + RE_CAPTCHA_DISABLED=false + MICROSERVICE_SC_VERIFIER_TYPE=eth_bytecode_db + MICROSERVICE_VISUALIZE_SOL2UML_ENABLED=true + MICROSERVICE_VISUALIZE_SOL2UML_URL=http://visualizer:8050/ + MICROSERVICE_SIG_PROVIDER_ENABLED=true + MICROSERVICE_SIG_PROVIDER_URL=http://sig-provider:8050/ + MICROSERVICE_ACCOUNT_ABSTRACTION_URL=http://user-ops-indexer:8050/ + DECODE_NOT_A_CONTRACT_CALLS=true + ACCOUNT_CLOAK_KEY= + ACCOUNT_ENABLED=false + ACCOUNT_REDIS_URL=redis://redis-db:6379 + NFT_MEDIA_HANDLER_ENABLED=false + NFT_MEDIA_HANDLER_REMOTE_DISPATCHER_NODE_MODE_ENABLED=false + RELEASE_NODE=producer@172.18.0.4 + RELEASE_DISTRIBUTION=name + RELEASE_COOKIE=secret_cookie + From b2fdc911e296d767de69a09b1333b2d9e312890e Mon Sep 17 00:00:00 2001 From: Leandro Serra Date: Sat, 15 Nov 2025 00:37:20 -0300 Subject: [PATCH 08/16] fix: add some more env vars --- .github/workflows/publish-docker-image-staging-on-demand.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/publish-docker-image-staging-on-demand.yml b/.github/workflows/publish-docker-image-staging-on-demand.yml index b308e9bfb11d..e5351c9a3525 100644 --- a/.github/workflows/publish-docker-image-staging-on-demand.yml +++ b/.github/workflows/publish-docker-image-staging-on-demand.yml @@ -88,4 +88,8 @@ jobs: RELEASE_NODE=producer@172.18.0.4 RELEASE_DISTRIBUTION=name RELEASE_COOKIE=secret_cookie + DISABLE_API=false + CHAIN_TYPE=ethereum + BRIDGED_TOKENS_ENABLED=false + API_GRAPHQL_MAX_COMPLEXITY=100 From 76ae362de03f9d1b810f105a534019a14bbc0565 Mon Sep 17 00:00:00 2001 From: Leandro Serra Date: Sat, 15 Nov 2025 00:53:00 -0300 Subject: [PATCH 09/16] fix: remove empty env vars --- .github/workflows/publish-docker-image-staging-on-demand.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/publish-docker-image-staging-on-demand.yml b/.github/workflows/publish-docker-image-staging-on-demand.yml index e5351c9a3525..6ce931c9c909 100644 --- a/.github/workflows/publish-docker-image-staging-on-demand.yml +++ b/.github/workflows/publish-docker-image-staging-on-demand.yml @@ -66,7 +66,6 @@ jobs: POOL_SIZE_API=10 ECTO_USE_SSL=false HEART_BEAT_TIMEOUT=30 - RELEASE_LINK= ADMIN_PANEL_ENABLED=false API_V1_READ_METHODS_DISABLED=false API_V1_WRITE_METHODS_DISABLED=false @@ -80,7 +79,6 @@ jobs: MICROSERVICE_SIG_PROVIDER_URL=http://sig-provider:8050/ MICROSERVICE_ACCOUNT_ABSTRACTION_URL=http://user-ops-indexer:8050/ DECODE_NOT_A_CONTRACT_CALLS=true - ACCOUNT_CLOAK_KEY= ACCOUNT_ENABLED=false ACCOUNT_REDIS_URL=redis://redis-db:6379 NFT_MEDIA_HANDLER_ENABLED=false From c09d37ade87d649c69bb6dac447cb8d8af5141e2 Mon Sep 17 00:00:00 2001 From: Leandro Serra Date: Sat, 15 Nov 2025 01:10:37 -0300 Subject: [PATCH 10/16] fix: try using docker compose --- ...publish-docker-image-staging-on-demand.yml | 72 +++++-------------- 1 file changed, 18 insertions(+), 54 deletions(-) diff --git a/.github/workflows/publish-docker-image-staging-on-demand.yml b/.github/workflows/publish-docker-image-staging-on-demand.yml index 6ce931c9c909..28d238d936a8 100644 --- a/.github/workflows/publish-docker-image-staging-on-demand.yml +++ b/.github/workflows/publish-docker-image-staging-on-demand.yml @@ -1,3 +1,4 @@ + name: Publish Docker image to staging on demand on: @@ -9,6 +10,7 @@ on: - 'CHANGELOG.md' - '**/README.md' - 'docker-compose/*' + env: OTP_VERSION: ${{ vars.OTP_VERSION }} ELIXIR_VERSION: ${{ vars.ELIXIR_VERSION }} @@ -22,6 +24,7 @@ jobs: push_to_registry: name: Push Docker image to GitHub Container Registry runs-on: ubuntu-latest + steps: - name: Check out repo uses: actions/checkout@v4 @@ -36,58 +39,19 @@ jobs: - name: Add SHORT_SHA env property with commit short sha run: echo "SHORT_SHA=${GITHUB_SHA::8}" >> $GITHUB_ENV - - name: Build and push Docker image - uses: docker/build-push-action@v6 - with: - context: . - file: ./docker/Dockerfile - push: true - tags: ghcr.io/lambdaclass/blockscout-staging:latest, ghcr.io/lambdaclass/blockscout-staging:${{ env.RELEASE_VERSION }}.commit.${{ env.SHORT_SHA }} - labels: ${{ steps.setup.outputs.docker-labels }} - platforms: | - linux/amd64 - build-args: | - DECODE_NOT_A_CONTRACT_CALLS=false - BLOCKSCOUT_VERSION=v${{ env.RELEASE_VERSION }}.+commit.${{ env.SHORT_SHA }} - RELEASE_VERSION=${{ env.RELEASE_VERSION }} - ETHEREUM_JSONRPC_VARIANT=geth - ETHEREUM_JSONRPC_HTTP_URL=http://host.docker.internal:1729/ - DISABLE_FILE_LOGGING=false - DATABASE_URL=postgresql://blockscout:ceWb1MeLBEeOIfk65gU8EjF8@db:5432/blockscout - ETHEREUM_JSONRPC_TRANSPORT=http - ETHEREUM_JSONRPC_DISABLE_ARCHIVE_BALANCES=false - ETHEREUM_JSONRPC_TRACE_URL=http://host.docker.internal:1729/ - SECRET_KEY_BASE=56NtB48ear7+wMSf0IQuWDAAazhpb31qyc7GiyspBP2vh7t5zlCsF5QDv76chXeN - PORT=4000 - COIN_NAME=ETH - COIN=Ether - DISABLE_MARKET=true - POOL_SIZE=80 - POOL_SIZE_API=10 - ECTO_USE_SSL=false - HEART_BEAT_TIMEOUT=30 - ADMIN_PANEL_ENABLED=false - API_V1_READ_METHODS_DISABLED=false - API_V1_WRITE_METHODS_DISABLED=false - TXS_STATS_DAYS_TO_COMPILE_AT_INIT=10 - COIN_BALANCE_HISTORY_DAYS=90 - RE_CAPTCHA_DISABLED=false - MICROSERVICE_SC_VERIFIER_TYPE=eth_bytecode_db - MICROSERVICE_VISUALIZE_SOL2UML_ENABLED=true - MICROSERVICE_VISUALIZE_SOL2UML_URL=http://visualizer:8050/ - MICROSERVICE_SIG_PROVIDER_ENABLED=true - MICROSERVICE_SIG_PROVIDER_URL=http://sig-provider:8050/ - MICROSERVICE_ACCOUNT_ABSTRACTION_URL=http://user-ops-indexer:8050/ - DECODE_NOT_A_CONTRACT_CALLS=true - ACCOUNT_ENABLED=false - ACCOUNT_REDIS_URL=redis://redis-db:6379 - NFT_MEDIA_HANDLER_ENABLED=false - NFT_MEDIA_HANDLER_REMOTE_DISPATCHER_NODE_MODE_ENABLED=false - RELEASE_NODE=producer@172.18.0.4 - RELEASE_DISTRIBUTION=name - RELEASE_COOKIE=secret_cookie - DISABLE_API=false - CHAIN_TYPE=ethereum - BRIDGED_TOKENS_ENABLED=false - API_GRAPHQL_MAX_COMPLEXITY=100 + # ---- BUILD WITH COMPOSE ---- + - name: Build image with docker compose + run: | + docker compose -f docker-compose.yml build backend + + # ---- TAG IMAGES ---- + - name: Tag images for GHCR + run: | + docker tag blockscout-backend ghcr.io/lambdaclass/blockscout-staging:latest + docker tag blockscout-backend ghcr.io/lambdaclass/blockscout-staging:${{ env.RELEASE_VERSION }}.commit.${{ env.SHORT_SHA }} + # ---- PUSH ---- + - name: Push to GHCR + run: | + docker push ghcr.io/lambdaclass/blockscout-staging:latest + docker push ghcr.io/lambdaclass/blockscout-staging:${{ env.RELEASE_VERSION }}.commit.${{ env.SHORT_SHA }} From b5f6a91c8810032442f462d70b41c252fe7ca13b Mon Sep 17 00:00:00 2001 From: Leandro Serra Date: Sat, 15 Nov 2025 09:42:04 -0300 Subject: [PATCH 11/16] fix: path --- .github/workflows/publish-docker-image-staging-on-demand.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-docker-image-staging-on-demand.yml b/.github/workflows/publish-docker-image-staging-on-demand.yml index 28d238d936a8..aaa114b0d0d1 100644 --- a/.github/workflows/publish-docker-image-staging-on-demand.yml +++ b/.github/workflows/publish-docker-image-staging-on-demand.yml @@ -42,7 +42,7 @@ jobs: # ---- BUILD WITH COMPOSE ---- - name: Build image with docker compose run: | - docker compose -f docker-compose.yml build backend + docker compose -f docker-compose/docker-compose.yml build backend # ---- TAG IMAGES ---- - name: Tag images for GHCR From f33798bc5ce2abc893cae3d9e469ba633225cbbc Mon Sep 17 00:00:00 2001 From: Leandro Serra Date: Sat, 15 Nov 2025 09:50:13 -0300 Subject: [PATCH 12/16] fix: docker image name --- .../workflows/publish-docker-image-staging-on-demand.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/publish-docker-image-staging-on-demand.yml b/.github/workflows/publish-docker-image-staging-on-demand.yml index aaa114b0d0d1..5f220df9ecff 100644 --- a/.github/workflows/publish-docker-image-staging-on-demand.yml +++ b/.github/workflows/publish-docker-image-staging-on-demand.yml @@ -39,18 +39,15 @@ jobs: - name: Add SHORT_SHA env property with commit short sha run: echo "SHORT_SHA=${GITHUB_SHA::8}" >> $GITHUB_ENV - # ---- BUILD WITH COMPOSE ---- - name: Build image with docker compose run: | docker compose -f docker-compose/docker-compose.yml build backend - # ---- TAG IMAGES ---- - name: Tag images for GHCR run: | - docker tag blockscout-backend ghcr.io/lambdaclass/blockscout-staging:latest - docker tag blockscout-backend ghcr.io/lambdaclass/blockscout-staging:${{ env.RELEASE_VERSION }}.commit.${{ env.SHORT_SHA }} + docker tag blockscoutghcr.io/lambdaclass/blockscout-staging:latest + docker tag blockscoutghcr.io/lambdaclass/blockscout-staging:${{ env.RELEASE_VERSION }}.commit.${{ env.SHORT_SHA }} - # ---- PUSH ---- - name: Push to GHCR run: | docker push ghcr.io/lambdaclass/blockscout-staging:latest From 8d59fe723e114f5a2f1b2fabe741b9ad155926ad Mon Sep 17 00:00:00 2001 From: Leandro Serra Date: Sat, 15 Nov 2025 09:57:08 -0300 Subject: [PATCH 13/16] fix: space in command --- .github/workflows/publish-docker-image-staging-on-demand.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish-docker-image-staging-on-demand.yml b/.github/workflows/publish-docker-image-staging-on-demand.yml index 5f220df9ecff..7b2b42713f6b 100644 --- a/.github/workflows/publish-docker-image-staging-on-demand.yml +++ b/.github/workflows/publish-docker-image-staging-on-demand.yml @@ -45,8 +45,8 @@ jobs: - name: Tag images for GHCR run: | - docker tag blockscoutghcr.io/lambdaclass/blockscout-staging:latest - docker tag blockscoutghcr.io/lambdaclass/blockscout-staging:${{ env.RELEASE_VERSION }}.commit.${{ env.SHORT_SHA }} + docker tag blockscout ghcr.io/lambdaclass/blockscout-staging:latest + docker tag blockscout ghcr.io/lambdaclass/blockscout-staging:${{ env.RELEASE_VERSION }}.commit.${{ env.SHORT_SHA }} - name: Push to GHCR run: | From 8eafff89cb0cacb77ca8f102c6ac5df4db9e4548 Mon Sep 17 00:00:00 2001 From: Leandro Serra Date: Sat, 15 Nov 2025 10:05:48 -0300 Subject: [PATCH 14/16] fix: image name --- .github/workflows/publish-docker-image-staging-on-demand.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish-docker-image-staging-on-demand.yml b/.github/workflows/publish-docker-image-staging-on-demand.yml index 7b2b42713f6b..b2b4053c3531 100644 --- a/.github/workflows/publish-docker-image-staging-on-demand.yml +++ b/.github/workflows/publish-docker-image-staging-on-demand.yml @@ -45,8 +45,8 @@ jobs: - name: Tag images for GHCR run: | - docker tag blockscout ghcr.io/lambdaclass/blockscout-staging:latest - docker tag blockscout ghcr.io/lambdaclass/blockscout-staging:${{ env.RELEASE_VERSION }}.commit.${{ env.SHORT_SHA }} + docker tag docker-compose-backend ghcr.io/lambdaclass/blockscout-staging:latest + docker tag docker-compose-backend ghcr.io/lambdaclass/blockscout-staging:${{ env.RELEASE_VERSION }}.commit.${{ env.SHORT_SHA }} - name: Push to GHCR run: | From f1dc2b748270ef6c42cb5650dba8d0017606848b Mon Sep 17 00:00:00 2001 From: Leandro Serra Date: Sat, 15 Nov 2025 10:24:07 -0300 Subject: [PATCH 15/16] fix: Dockerfile --- docker/Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 20232af3064f..5e319d539988 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -83,7 +83,6 @@ ARG BLOCKSCOUT_VERSION ENV BLOCKSCOUT_VERSION=${BLOCKSCOUT_VERSION} COPY --from=builder --chown=${BLOCKSCOUT_USER}:${BLOCKSCOUT_GROUP} /opt/release/blockscout . -COPY --from=builder --chown=${BLOCKSCOUT_USER}:${BLOCKSCOUT_GROUP} /app/config/config_helper.exs ./config/config_helper.exs COPY --from=builder --chown=${BLOCKSCOUT_USER}:${BLOCKSCOUT_GROUP} /app/config/config_helper.exs /app/releases/${RELEASE_VERSION}/config_helper.exs COPY --from=builder --chown=${BLOCKSCOUT_USER}:${BLOCKSCOUT_GROUP} /app/config/assets/precompiles-arbitrum.json ./config/assets/precompiles-arbitrum.json From 763c41daa42a06737b7c2883bac276111f805f09 Mon Sep 17 00:00:00 2001 From: Leandro Serra Date: Sat, 15 Nov 2025 12:45:39 -0300 Subject: [PATCH 16/16] fix: build multiaarch --- ...publish-docker-image-staging-on-demand.yml | 39 +++++++++++++------ docker/Dockerfile | 1 + 2 files changed, 28 insertions(+), 12 deletions(-) diff --git a/.github/workflows/publish-docker-image-staging-on-demand.yml b/.github/workflows/publish-docker-image-staging-on-demand.yml index b2b4053c3531..459425b55a39 100644 --- a/.github/workflows/publish-docker-image-staging-on-demand.yml +++ b/.github/workflows/publish-docker-image-staging-on-demand.yml @@ -29,6 +29,12 @@ jobs: - name: Check out repo uses: actions/checkout@v4 + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Login to GHCR uses: docker/login-action@v3 with: @@ -39,16 +45,25 @@ jobs: - name: Add SHORT_SHA env property with commit short sha run: echo "SHORT_SHA=${GITHUB_SHA::8}" >> $GITHUB_ENV - - name: Build image with docker compose - run: | - docker compose -f docker-compose/docker-compose.yml build backend - - - name: Tag images for GHCR - run: | - docker tag docker-compose-backend ghcr.io/lambdaclass/blockscout-staging:latest - docker tag docker-compose-backend ghcr.io/lambdaclass/blockscout-staging:${{ env.RELEASE_VERSION }}.commit.${{ env.SHORT_SHA }} + - name: Build and push Docker image + uses: docker/build-push-action@v6 + with: + context: . + file: ./docker/Dockerfile + push: true + cache-from: type=registry,ref=ghcr.io/lambdaclass/blockscout-private:buildcache + cache-to: type=registry,ref=ghcr.io/lambdaclass/blockscout-private:buildcache,mode=max + tags: ghcr.io/lambdaclass/blockscout-private:master, ghcr.io/lambdaclass/blockscout-private:${{ env.RELEASE_VERSION }}.commit.${{ env.SHORT_SHA }} + labels: ${{ steps.setup.outputs.docker-labels }} + platforms: | + linux/amd64 + linux/arm64/v8 + build-args: | + DECODE_NOT_A_CONTRACT_CALLS=false + MIXPANEL_URL= + MIXPANEL_TOKEN= + AMPLITUDE_URL= + AMPLITUDE_API_KEY= + BLOCKSCOUT_VERSION=v${{ env.RELEASE_VERSION }}.+commit.${{ env.SHORT_SHA }} + RELEASE_VERSION=${{ env.RELEASE_VERSION }} - - name: Push to GHCR - run: | - docker push ghcr.io/lambdaclass/blockscout-staging:latest - docker push ghcr.io/lambdaclass/blockscout-staging:${{ env.RELEASE_VERSION }}.commit.${{ env.SHORT_SHA }} diff --git a/docker/Dockerfile b/docker/Dockerfile index 5e319d539988..20232af3064f 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -83,6 +83,7 @@ ARG BLOCKSCOUT_VERSION ENV BLOCKSCOUT_VERSION=${BLOCKSCOUT_VERSION} COPY --from=builder --chown=${BLOCKSCOUT_USER}:${BLOCKSCOUT_GROUP} /opt/release/blockscout . +COPY --from=builder --chown=${BLOCKSCOUT_USER}:${BLOCKSCOUT_GROUP} /app/config/config_helper.exs ./config/config_helper.exs COPY --from=builder --chown=${BLOCKSCOUT_USER}:${BLOCKSCOUT_GROUP} /app/config/config_helper.exs /app/releases/${RELEASE_VERSION}/config_helper.exs COPY --from=builder --chown=${BLOCKSCOUT_USER}:${BLOCKSCOUT_GROUP} /app/config/assets/precompiles-arbitrum.json ./config/assets/precompiles-arbitrum.json