feat(ci): use remote arm64 builder (#9468)

* feat(ci): multi-platform remote build

* set arm runner secret, update runner hosts

* select one builder and persist it

* select one builder and persist it

* find the least busy arm builder

* chore: update ci configs post rebase

* enable remote build in every workflow

---------

Co-authored-by: aagaev <alik@agaev.me>
pull/10216/head
Kirill Fedoseev 6 months ago committed by GitHub
parent b8730cdfe0
commit d0ec50eb95
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 23
      .github/actions/setup-repo-and-short-sha/action.yml
  2. 65
      .github/actions/setup-repo/action.yml
  3. 46
      .github/scripts/select-builder.sh
  4. 10
      .github/workflows/pre-release-eth.yml
  5. 10
      .github/workflows/pre-release-optimism.yml
  6. 10
      .github/workflows/pre-release-shibarium.yml
  7. 7
      .github/workflows/pre-release-zksync.yml
  8. 7
      .github/workflows/pre-release.yml
  9. 32
      .github/workflows/publish-docker-image-every-push.yml
  10. 7
      .github/workflows/publish-docker-image-for-arbitrum.yml
  11. 10
      .github/workflows/publish-docker-image-for-core.yml
  12. 18
      .github/workflows/publish-docker-image-for-eth-sepolia.yml
  13. 10
      .github/workflows/publish-docker-image-for-eth.yml
  14. 10
      .github/workflows/publish-docker-image-for-filecoin.yml
  15. 10
      .github/workflows/publish-docker-image-for-fuse.yml
  16. 10
      .github/workflows/publish-docker-image-for-gnosis-chain.yml
  17. 10
      .github/workflows/publish-docker-image-for-l2-staging.yml
  18. 10
      .github/workflows/publish-docker-image-for-lukso.yml
  19. 7
      .github/workflows/publish-docker-image-for-optimism.yml
  20. 10
      .github/workflows/publish-docker-image-for-polygon-edge.yml
  21. 7
      .github/workflows/publish-docker-image-for-redstone.yml
  22. 10
      .github/workflows/publish-docker-image-for-rootstock.yml
  23. 10
      .github/workflows/publish-docker-image-for-shibarium.yml
  24. 10
      .github/workflows/publish-docker-image-for-stability.yml
  25. 7
      .github/workflows/publish-docker-image-for-suave.yml
  26. 10
      .github/workflows/publish-docker-image-for-zetachain.yml
  27. 10
      .github/workflows/publish-docker-image-for-zkevm.yml
  28. 10
      .github/workflows/publish-docker-image-for-zksync.yml
  29. 19
      .github/workflows/publish-docker-image-staging-on-demand.yml
  30. 7
      .github/workflows/release-arbitrum.yml
  31. 7
      .github/workflows/release-eth.yml
  32. 7
      .github/workflows/release-filecoin.yml
  33. 7
      .github/workflows/release-fuse.yml
  34. 7
      .github/workflows/release-gnosis.yml
  35. 7
      .github/workflows/release-optimism.yml
  36. 7
      .github/workflows/release-polygon-edge.yml
  37. 7
      .github/workflows/release-polygon-zkevm.yml
  38. 7
      .github/workflows/release-redstone.yml
  39. 7
      .github/workflows/release-rootstock.yml
  40. 7
      .github/workflows/release-shibarium.yml
  41. 7
      .github/workflows/release-stability.yml
  42. 7
      .github/workflows/release-suave.yml
  43. 7
      .github/workflows/release-zetachain.yml
  44. 7
      .github/workflows/release-zksync.yml
  45. 7
      .github/workflows/release.yml

@ -1,23 +0,0 @@
name: 'Setup repo and calc short SHA commit'
description: 'Setup repo: checkout/login/extract metadata, Set up Docker Buildx and calculate short SHA commit'
inputs:
docker-username:
description: 'Docker username'
required: true
docker-password:
description: 'Docker password'
required: true
runs:
using: "composite"
steps:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo
with:
docker-username: ${{ inputs.docker-username }}
docker-password: ${{ inputs.docker-password }}
- name: Add SHORT_SHA env property with commit short sha
shell: bash
run: echo "SHORT_SHA=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_ENV

@ -7,14 +7,69 @@ inputs:
docker-password:
description: 'Docker password'
required: true
docker-remote-multi-platform:
description: 'Docker remote multi-platform builder'
required: true
default: 'false'
docker-arm-host:
description: 'Docker remote arm builder'
required: false
docker-arm-host-key:
description: 'Docker remote arm builder ssh private key'
required: false
docker-image:
description: 'Docker image'
required: true
default: blockscout/blockscout
outputs:
docker-builder:
description: 'Docker builder'
value: ${{ steps.builder_local.outputs.name || steps.builder_multi.outputs.name }}
docker-tags:
description: 'Docker metadata tags'
value: ${{ steps.meta.outputs.tags }}
docker-labels:
description: 'Docker metadata labels'
value: ${{ steps.meta.outputs.labels }}
docker-platforms:
description: 'Docker build platforms'
value: ${{ steps.builder_local.outputs.platforms || steps.builder_multi.outputs.platforms }}
runs:
using: "composite"
steps:
- name: Check out the repo
uses: actions/checkout@v4
- name: Set up SSH key
shell: bash
run: |
mkdir -p ~/.ssh
echo "${{ inputs.docker-arm-host-key }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
- name: Find builder
if: ${{ inputs.docker-remote-multi-platform }}
shell: bash
run: echo "BUILDER_IP=$(./.github/scripts/select-builder.sh ${{ inputs.docker-arm-host }} ubuntu ~/.ssh/id_rsa)" >> $GITHUB_ENV
- name: Set up SSH
if: ${{ inputs.docker-remote-multi-platform }}
uses: MrSquaare/ssh-setup-action@523473d91581ccbf89565e12b40faba93f2708bd # v1.1.0
with:
host: ${{ env.BUILDER_IP }}
private-key: ${{ inputs.docker-arm-host-key }}
- name: Set up Docker Buildx
if: ${{ !inputs.docker-remote-multi-platform }}
uses: docker/setup-buildx-action@v3
id: builder_local
with:
platforms: linux/amd64
- name: Set up Multi-platform Docker Buildx
if: ${{ inputs.docker-remote-multi-platform }}
uses: docker/setup-buildx-action@v3
id: builder_multi
with:
platforms: linux/amd64
append: |
- endpoint: ssh://ubuntu@${{ env.BUILDER_IP }}
platforms: linux/arm64/v8
- name: Log in to Docker Hub
uses: docker/login-action@v3
@ -26,4 +81,8 @@ runs:
id: meta
uses: docker/metadata-action@v5
with:
images: blockscout/blockscout
images: ${{ inputs.docker-image }}
- name: Add SHORT_SHA env property with commit short sha
shell: bash
run: echo "SHORT_SHA=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_ENV

@ -0,0 +1,46 @@
#!/bin/bash
# Check if a domain is provided as an argument
if [ -z "$1" ]; then
echo "Usage: $0 <domain>"
exit 1
fi
DOMAIN=$1
SSH_USER=$2
SSH_KEY=$3
# Resolve A records
IP_LIST=$(dig +short A $DOMAIN)
if [ -z "$IP_LIST" ]; then
echo "No IPs found for domain $DOMAIN"
exit 1
fi
MIN_LA=1000000
BEST_BUILDER=""
for IP in $IP_LIST; do
# Check if the host is reachable via SSH
ssh -o StrictHostKeychecking=no -o ConnectTimeout=5 -o BatchMode=yes -i $SSH_KEY $SSH_USER@$IP "exit" 2>/dev/null
if [ $? -eq 0 ]; then
# Get the load average
LA=$(ssh -o StrictHostKeychecking=no -i $SSH_KEY $SSH_USER@$IP "uptime | awk -F'load average:' '{ print \$2 }' | cut -d, -f1" 2>/dev/null)
if [ $? -eq 0 ]; then
# Compare and find the minimum load average
LA=$(echo $LA | xargs) # Trim whitespace
if (( $(echo "$LA < $MIN_LA" | bc -l) )); then
MIN_LA=$LA
BEST_BUILDER=$IP
fi
fi
else
echo "Host $IP is unreachable, skipping."
fi
done
if [ -n "$BEST_BUILDER" ]; then
echo "$BEST_BUILDER"
else
echo "No reachable hosts found."
fi

@ -21,9 +21,13 @@ jobs:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image for Ethereum (indexer + API)
uses: docker/build-push-action@v5
@ -32,8 +36,10 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-ethereum:${{ env.RELEASE_VERSION }}-alpha.${{ inputs.number }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
DISABLE_WEBAPP=false
API_V1_READ_METHODS_DISABLED=false
@ -53,8 +59,10 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-ethereum:${{ env.RELEASE_VERSION }}-alpha.${{ inputs.number }}-indexer
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
DISABLE_API=true
DISABLE_WEBAPP=true
@ -73,8 +81,10 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-ethereum:${{ env.RELEASE_VERSION }}-alpha.${{ inputs.number }}-api
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
DISABLE_INDEXER=true
DISABLE_WEBAPP=true

@ -21,9 +21,13 @@ jobs:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image for Optimism (indexer + API)
uses: docker/build-push-action@v5
@ -32,8 +36,10 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-optimism:${{ env.RELEASE_VERSION }}-alpha.${{ inputs.number }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
DISABLE_WEBAPP=false
API_V1_READ_METHODS_DISABLED=false
@ -53,8 +59,10 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-optimism:${{ env.RELEASE_VERSION }}-alpha.${{ inputs.number }}-indexer
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
DISABLE_API=true
DISABLE_WEBAPP=true
@ -73,8 +81,10 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-optimism:${{ env.RELEASE_VERSION }}-alpha.${{ inputs.number }}-api
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
DISABLE_INDEXER=true
DISABLE_WEBAPP=true

@ -21,9 +21,13 @@ jobs:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image for Shibarium (indexer + API)
uses: docker/build-push-action@v5
@ -32,8 +36,10 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-shibarium:${{ env.RELEASE_VERSION }}-alpha.${{ inputs.number }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
DISABLE_WEBAPP=false
API_V1_READ_METHODS_DISABLED=false
@ -53,8 +59,10 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-shibarium:${{ env.RELEASE_VERSION }}-alpha.${{ inputs.number }}-indexer
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
DISABLE_API=true
DISABLE_WEBAPP=true
@ -73,8 +81,10 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-shibarium:${{ env.RELEASE_VERSION }}-alpha.${{ inputs.number }}-api
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
DISABLE_INDEXER=true
DISABLE_WEBAPP=true

@ -21,9 +21,13 @@ jobs:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image for ZkSync (indexer + API)
uses: docker/build-push-action@v5
@ -32,6 +36,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-zksync:${{ env.RELEASE_VERSION }}-alpha.${{ inputs.number }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -54,6 +59,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-zksync:${{ env.RELEASE_VERSION }}-alpha.${{ inputs.number }}-indexer
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -75,6 +81,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-zksync:${{ env.RELEASE_VERSION }}-alpha.${{ inputs.number }}-api
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8

@ -21,9 +21,13 @@ jobs:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build & Push Core Docker image (indexer + API)
uses: docker/build-push-action@v5
@ -34,6 +38,7 @@ jobs:
cache-from: type=registry,ref=blockscout/blockscout:buildcache
cache-to: type=registry,ref=blockscout/blockscout:buildcache,mode=max
tags: blockscout/blockscout:master, blockscout/blockscout:${{ env.RELEASE_VERSION }}-alpha.${{ inputs.number }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -62,6 +67,7 @@ jobs:
cache-from: type=registry,ref=blockscout/blockscout:buildcache
cache-to: type=registry,ref=blockscout/blockscout:buildcache,mode=max
tags: blockscout/blockscout:${{ env.RELEASE_VERSION }}-alpha.${{ inputs.number }}-indexer
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -89,6 +95,7 @@ jobs:
cache-from: type=registry,ref=blockscout/blockscout:buildcache
cache-to: type=registry,ref=blockscout/blockscout:buildcache,mode=max
tags: blockscout/blockscout:${{ env.RELEASE_VERSION }}-alpha.${{ inputs.number }}-api
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8

@ -17,23 +17,17 @@ jobs:
push_to_registry:
name: Push Docker image to Docker Hub
runs-on: ubuntu-latest
outputs:
release-version: ${{ steps.output-step.outputs.release-version }}
short-sha: ${{ steps.output-step.outputs.short-sha }}
steps:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo-and-short-sha
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
- name: Add outputs
run: |
echo "::set-output name=release-version::${{ env.NEXT_RELEASE_VERSION }}"
echo "::set-output name=short-sha::${{ env.SHORT_SHA }}"
id: output-step
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image (indexer + API)
uses: docker/build-push-action@v5
@ -44,6 +38,10 @@ jobs:
cache-from: type=registry,ref=blockscout/blockscout:buildcache
cache-to: type=registry,ref=blockscout/blockscout:buildcache,mode=max
tags: blockscout/blockscout:master, blockscout/blockscout:${{ env.RELEASE_VERSION }}.commit.${{ env.SHORT_SHA }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
DISABLE_WEBAPP=false
API_V1_READ_METHODS_DISABLED=false
@ -67,6 +65,10 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout:${{ env.RELEASE_VERSION }}.commit.${{ env.SHORT_SHA }}-indexer
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
DISABLE_API=true
DISABLE_WEBAPP=true
@ -89,6 +91,10 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout:${{ env.RELEASE_VERSION }}.commit.${{ env.SHORT_SHA }}-api
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
DISABLE_INDEXER=true
DISABLE_WEBAPP=true
@ -112,6 +118,10 @@ jobs:
push: true
cache-from: type=registry,ref=blockscout/blockscout:buildcache
tags: blockscout/blockscout:frontend-main
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
CACHE_EXCHANGE_RATES_PERIOD=
API_V1_READ_METHODS_DISABLED=false

@ -15,10 +15,14 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo-and-short-sha
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
@ -27,6 +31,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-${{ env.DOCKER_CHAIN_NAME }}:${{ env.RELEASE_VERSION }}-postrelease-${{ env.SHORT_SHA }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8

@ -15,10 +15,14 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo-and-short-sha
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
@ -27,6 +31,10 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-${{ env.DOCKER_CHAIN_NAME }}:latest, blockscout/blockscout-${{ env.DOCKER_CHAIN_NAME }}:${{ env.RELEASE_VERSION }}-postrelease-${{ env.SHORT_SHA }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
CACHE_EXCHANGE_RATES_PERIOD=
API_V1_READ_METHODS_DISABLED=false

@ -15,10 +15,14 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo-and-short-sha
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image (indexer + API)
uses: docker/build-push-action@v5
@ -27,6 +31,10 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-${{ env.DOCKER_CHAIN_NAME }}:latest, blockscout/blockscout-${{ env.DOCKER_CHAIN_NAME }}:${{ env.RELEASE_VERSION }}-postrelease-${{ env.SHORT_SHA }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
CHAIN_TYPE=ethereum
CACHE_EXCHANGE_RATES_PERIOD=
@ -46,6 +54,10 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-${{ env.DOCKER_CHAIN_NAME }}:${{ env.RELEASE_VERSION }}-postrelease-${{ env.SHORT_SHA }}-indexer
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
CHAIN_TYPE=ethereum
CACHE_EXCHANGE_RATES_PERIOD=
@ -64,6 +76,10 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-${{ env.DOCKER_CHAIN_NAME }}:${{ env.RELEASE_VERSION }}-postrelease-${{ env.SHORT_SHA }}-api
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
CHAIN_TYPE=ethereum
CACHE_EXCHANGE_RATES_PERIOD=

@ -15,10 +15,14 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo-and-short-sha
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
@ -27,6 +31,10 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-${{ env.DOCKER_CHAIN_NAME }}:${{ env.RELEASE_VERSION }}-postrelease-${{ env.SHORT_SHA }}-experimental
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
CHAIN_TYPE=ethereum
CACHE_EXCHANGE_RATES_PERIOD=

@ -14,10 +14,14 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo-and-short-sha
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
@ -26,6 +30,10 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-${{ env.DOCKER_CHAIN_NAME }}:${{ env.RELEASE_VERSION }}-postrelease-${{ env.SHORT_SHA }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
CACHE_EXCHANGE_RATES_PERIOD=
API_V1_READ_METHODS_DISABLED=false

@ -15,10 +15,14 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo-and-short-sha
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
@ -27,6 +31,10 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-${{ env.DOCKER_CHAIN_NAME }}:${{ env.RELEASE_VERSION }}-postrelease-${{ env.SHORT_SHA }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
BRIDGED_TOKENS_ENABLED=true
CACHE_EXCHANGE_RATES_PERIOD=

@ -15,10 +15,14 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo-and-short-sha
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
@ -27,6 +31,10 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-${{ env.DOCKER_CHAIN_NAME }}:${{ env.RELEASE_VERSION }}-postrelease-${{ env.SHORT_SHA }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
BRIDGED_TOKENS_ENABLED=true
CACHE_EXCHANGE_RATES_PERIOD=

@ -15,10 +15,14 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo-and-short-sha
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
@ -27,6 +31,10 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-${{ env.DOCKER_CHAIN_NAME }}:latest, blockscout/blockscout-${{ env.DOCKER_CHAIN_NAME }}:${{ env.RELEASE_VERSION }}-postrelease-${{ env.SHORT_SHA }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
CACHE_EXCHANGE_RATES_PERIOD=
API_V1_READ_METHODS_DISABLED=false

@ -15,10 +15,14 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo-and-short-sha
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
@ -27,6 +31,10 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-${{ env.DOCKER_CHAIN_NAME }}:latest, blockscout/blockscout-${{ env.DOCKER_CHAIN_NAME }}:${{ env.RELEASE_VERSION }}-postrelease-${{ env.SHORT_SHA }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
CACHE_EXCHANGE_RATES_PERIOD=
API_V1_READ_METHODS_DISABLED=false

@ -15,10 +15,14 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo-and-short-sha
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
@ -27,6 +31,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-${{ env.DOCKER_CHAIN_NAME }}:${{ env.RELEASE_VERSION }}-postrelease-${{ env.SHORT_SHA }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8

@ -15,10 +15,14 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo-and-short-sha
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
@ -27,6 +31,10 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-${{ env.DOCKER_CHAIN_NAME }}:${{ env.RELEASE_VERSION }}-postrelease-${{ env.SHORT_SHA }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
CACHE_EXCHANGE_RATES_PERIOD=
API_V1_READ_METHODS_DISABLED=false

@ -15,10 +15,14 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo-and-short-sha
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
@ -27,6 +31,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-${{ env.DOCKER_CHAIN_NAME }}:latest, blockscout/blockscout-${{ env.DOCKER_CHAIN_NAME }}:${{ env.RELEASE_VERSION }}-postrelease-${{ env.SHORT_SHA }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8

@ -15,10 +15,14 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo-and-short-sha
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
@ -27,6 +31,10 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-${{ env.DOCKER_CHAIN_NAME }}:${{ env.RELEASE_VERSION }}-postrelease-${{ env.SHORT_SHA }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
CACHE_EXCHANGE_RATES_PERIOD=
API_V1_READ_METHODS_DISABLED=false

@ -18,10 +18,14 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo-and-short-sha
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
@ -30,6 +34,10 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-${{ env.DOCKER_CHAIN_NAME }}:${{ env.RELEASE_VERSION }}-postrelease-${{ env.SHORT_SHA }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
CACHE_EXCHANGE_RATES_PERIOD=
API_V1_READ_METHODS_DISABLED=false

@ -18,10 +18,14 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo-and-short-sha
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
@ -30,6 +34,10 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-${{ env.DOCKER_CHAIN_NAME }}:${{ env.RELEASE_VERSION }}-postrelease-${{ env.SHORT_SHA }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
CACHE_EXCHANGE_RATES_PERIOD=
API_V1_READ_METHODS_DISABLED=false

@ -18,10 +18,14 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo-and-short-sha
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
@ -30,6 +34,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-${{ env.DOCKER_CHAIN_NAME }}:${{ env.RELEASE_VERSION }}-postrelease-${{ env.SHORT_SHA }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8

@ -15,10 +15,14 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo-and-short-sha
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
@ -27,6 +31,10 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-${{ env.DOCKER_CHAIN_NAME }}:${{ env.RELEASE_VERSION }}-postrelease-${{ env.SHORT_SHA }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
CACHE_EXCHANGE_RATES_PERIOD=
API_V1_READ_METHODS_DISABLED=false

@ -15,10 +15,14 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo-and-short-sha
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
@ -27,6 +31,10 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-${{ env.DOCKER_CHAIN_NAME }}:${{ env.RELEASE_VERSION }}-postrelease-${{ env.SHORT_SHA }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
CACHE_EXCHANGE_RATES_PERIOD=
API_V1_READ_METHODS_DISABLED=false

@ -14,10 +14,14 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo-and-short-sha
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
@ -26,6 +30,10 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-${{ env.DOCKER_CHAIN_NAME }}:${{ env.RELEASE_VERSION }}-postrelease-${{ env.SHORT_SHA }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
CACHE_EXCHANGE_RATES_PERIOD=
API_V1_READ_METHODS_DISABLED=false

@ -18,22 +18,17 @@ jobs:
push_to_registry:
name: Push Docker image to Docker Hub
runs-on: ubuntu-latest
outputs:
release-version: ${{ steps.output-step.outputs.release-version }}
short-sha: ${{ steps.output-step.outputs.short-sha }}
steps:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo-and-short-sha
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
- name: Add outputs
run: |
echo "::set-output name=release-version::${{ env.NEXT_RELEASE_VERSION }}"
echo "::set-output name=short-sha::${{ env.SHORT_SHA }}"
id: output-step
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
@ -44,6 +39,10 @@ jobs:
cache-from: type=registry,ref=blockscout/blockscout:buildcache
cache-to: type=registry,ref=blockscout/blockscout:buildcache,mode=max
tags: blockscout/blockscout-staging:latest, blockscout/blockscout-staging:${{ env.RELEASE_VERSION }}.commit.${{ env.SHORT_SHA }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
CACHE_EXCHANGE_RATES_PERIOD=
API_V1_READ_METHODS_DISABLED=false

@ -18,9 +18,13 @@ jobs:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image for Arbitrum (indexer + API)
uses: docker/build-push-action@v5
@ -29,6 +33,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-arbitrum:latest, blockscout/blockscout-arbitrum:${{ env.RELEASE_VERSION }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -51,6 +56,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-arbitrum:${{ env.RELEASE_VERSION }}-indexer
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -72,6 +78,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-arbitrum:${{ env.RELEASE_VERSION }}-api
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8

@ -18,9 +18,13 @@ jobs:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image for Ethereum (indexer + API)
uses: docker/build-push-action@v5
@ -29,6 +33,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-ethereum:latest, blockscout/blockscout-ethereum:${{ env.RELEASE_VERSION }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -51,6 +56,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-ethereum:${{ env.RELEASE_VERSION }}-indexer
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -72,6 +78,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-ethereum:${{ env.RELEASE_VERSION }}-api
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8

@ -18,9 +18,13 @@ jobs:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image for Filecoin (indexer + API)
uses: docker/build-push-action@v5
@ -29,6 +33,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-filecoin:latest, blockscout/blockscout-filecoin:${{ env.RELEASE_VERSION }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -51,6 +56,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-filecoin:${{ env.RELEASE_VERSION }}-indexer
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -72,6 +78,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-filecoin:${{ env.RELEASE_VERSION }}-api
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8

@ -19,9 +19,13 @@ jobs:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image for Fuse (indexer + API)
uses: docker/build-push-action@v5
@ -30,6 +34,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-fuse:latest, blockscout/blockscout-fuse:${{ env.RELEASE_VERSION }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -52,6 +57,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-fuse:${{ env.RELEASE_VERSION }}-indexer
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -73,6 +79,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-fuse:${{ env.RELEASE_VERSION }}-api
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8

@ -18,9 +18,13 @@ jobs:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image for Gnosis chain (indexer + API)
uses: docker/build-push-action@v5
@ -29,6 +33,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-xdai:latest, blockscout/blockscout-xdai:${{ env.RELEASE_VERSION }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -52,6 +57,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-xdai:${{ env.RELEASE_VERSION }}-indexer
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -74,6 +80,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-xdai:${{ env.RELEASE_VERSION }}-api
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8

@ -18,9 +18,13 @@ jobs:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image for Optimism (indexer + API)
uses: docker/build-push-action@v5
@ -29,6 +33,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-optimism:latest, blockscout/blockscout-optimism:${{ env.RELEASE_VERSION }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -51,6 +56,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-optimism:${{ env.RELEASE_VERSION }}-indexer
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -72,6 +78,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-optimism:${{ env.RELEASE_VERSION }}-api
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8

@ -19,9 +19,13 @@ jobs:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image for Polygon Edge (indexer + api)
uses: docker/build-push-action@v5
@ -30,6 +34,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-polygon-edge:latest, blockscout/blockscout-polygon-edge:${{ env.RELEASE_VERSION }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -52,6 +57,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-polygon-edge:${{ env.RELEASE_VERSION }}-indexer
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -73,6 +79,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-polygon-edge:${{ env.RELEASE_VERSION }}-api
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8

@ -19,9 +19,13 @@ jobs:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image for Polygon zkEVM (indexer + API)
uses: docker/build-push-action@v5
@ -30,6 +34,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-zkevm:latest, blockscout/blockscout-zkevm:${{ env.RELEASE_VERSION }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -52,6 +57,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-zkevm:${{ env.RELEASE_VERSION }}-indexer
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -73,6 +79,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-zkevm:${{ env.RELEASE_VERSION }}-api
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8

@ -18,9 +18,13 @@ jobs:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image for Redstone
uses: docker/build-push-action@v5
@ -29,6 +33,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-redstone:latest, blockscout/blockscout-redstone:${{ env.RELEASE_VERSION }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -52,6 +57,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-redstone:${{ env.RELEASE_VERSION }}-indexer
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -74,6 +80,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-redstone:${{ env.RELEASE_VERSION }}-api
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8

@ -18,9 +18,13 @@ jobs:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image for Rootstock (indexer + API)
uses: docker/build-push-action@v5
@ -29,6 +33,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-rsk:latest, blockscout/blockscout-rsk:${{ env.RELEASE_VERSION }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -51,6 +56,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-rsk:${{ env.RELEASE_VERSION }}-indexer
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -72,6 +78,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-rsk:${{ env.RELEASE_VERSION }}-api
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8

@ -18,9 +18,13 @@ jobs:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image for Shibarium (indexer + API)
uses: docker/build-push-action@v5
@ -29,6 +33,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-shibarium:latest, blockscout/blockscout-shibarium:${{ env.RELEASE_VERSION }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -51,6 +56,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-shibarium:${{ env.RELEASE_VERSION }}-indexer
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -72,6 +78,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-shibarium:${{ env.RELEASE_VERSION }}-api
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8

@ -19,9 +19,13 @@ jobs:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image for Stability (indexer + API)
uses: docker/build-push-action@v5
@ -30,6 +34,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-stability:latest, blockscout/blockscout-stability:${{ env.RELEASE_VERSION }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -52,6 +57,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-stability:${{ env.RELEASE_VERSION }}-indexer
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -73,6 +79,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-stability:${{ env.RELEASE_VERSION }}-api
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8

@ -19,9 +19,13 @@ jobs:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image for SUAVE (indexer + API)
uses: docker/build-push-action@v5
@ -30,6 +34,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-suave:latest, blockscout/blockscout-suave:${{ env.RELEASE_VERSION }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -52,6 +57,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-suave:${{ env.RELEASE_VERSION }}-indexer
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -73,6 +79,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-suave:${{ env.RELEASE_VERSION }}-api
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8

@ -18,9 +18,13 @@ jobs:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image for Zetachain (indexer + API)
uses: docker/build-push-action@v5
@ -29,6 +33,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-zetachain:latest, blockscout/blockscout-zetachain:${{ env.RELEASE_VERSION }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -51,6 +56,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-zetachain:${{ env.RELEASE_VERSION }}-indexer
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -72,6 +78,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-zetachain:${{ env.RELEASE_VERSION }}-api
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8

@ -19,9 +19,13 @@ jobs:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build and push Docker image for ZkSync (indexer + API)
uses: docker/build-push-action@v5
@ -30,6 +34,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-zksync:latest, blockscout/blockscout-zksync:${{ env.RELEASE_VERSION }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -52,6 +57,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-zksync:${{ env.RELEASE_VERSION }}-indexer
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -73,6 +79,7 @@ jobs:
file: ./docker/Dockerfile
push: true
tags: blockscout/blockscout-zksync:${{ env.RELEASE_VERSION }}-api
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8

@ -18,9 +18,13 @@ jobs:
- uses: actions/checkout@v4
- name: Setup repo
uses: ./.github/actions/setup-repo
id: setup
with:
docker-username: ${{ secrets.DOCKER_USERNAME }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
docker-remote-multi-platform: true
docker-arm-host: ${{ secrets.ARM_RUNNER_HOSTNAME }}
docker-arm-host-key: ${{ secrets.ARM_RUNNER_KEY }}
- name: Build & Push Core Docker image (indexer + API)
uses: docker/build-push-action@v5
@ -31,6 +35,7 @@ jobs:
cache-from: type=registry,ref=blockscout/blockscout:buildcache
cache-to: type=registry,ref=blockscout/blockscout:buildcache,mode=max
tags: blockscout/blockscout:latest, blockscout/blockscout:${{ env.RELEASE_VERSION }}
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -59,6 +64,7 @@ jobs:
cache-from: type=registry,ref=blockscout/blockscout:buildcache
cache-to: type=registry,ref=blockscout/blockscout:buildcache,mode=max
tags: blockscout/blockscout:${{ env.RELEASE_VERSION }}-indexer
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8
@ -86,6 +92,7 @@ jobs:
cache-from: type=registry,ref=blockscout/blockscout:buildcache
cache-to: type=registry,ref=blockscout/blockscout:buildcache,mode=max
tags: blockscout/blockscout:${{ env.RELEASE_VERSION }}-api
labels: ${{ steps.setup.outputs.docker-labels }}
platforms: |
linux/amd64
linux/arm64/v8

Loading…
Cancel
Save