arm64-compatible docker image

pull/8661/head
Viktor Baranov 1 year ago
parent 3326d67e51
commit b6278b1a03
  1. 2
      .github/workflows/codeql-analysis.yml
  2. 26
      .github/workflows/config.yml
  3. 15
      .github/workflows/publish-docker-image-every-push.yml
  4. 8
      .github/workflows/publish-docker-image-for-core.yml
  5. 8
      .github/workflows/publish-docker-image-for-eth-goerli.yml
  6. 8
      .github/workflows/publish-docker-image-for-eth.yml
  7. 13
      .github/workflows/publish-docker-image-for-fuse.yml
  8. 11
      .github/workflows/publish-docker-image-for-immutable.yml
  9. 6
      .github/workflows/publish-docker-image-for-l2-staging.yml
  10. 6
      .github/workflows/publish-docker-image-for-lukso.yml
  11. 9
      .github/workflows/publish-docker-image-for-optimism.yml
  12. 4
      .github/workflows/publish-docker-image-for-rsk.yml
  13. 11
      .github/workflows/publish-docker-image-for-xdai.yml
  14. 6
      .github/workflows/publish-docker-image-for-zksync.yml
  15. 15
      .github/workflows/publish-docker-image-release.yml
  16. 1
      CHANGELOG.md
  17. 17
      docker/Dockerfile

@ -38,7 +38,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL

@ -35,7 +35,7 @@ jobs:
name: Build and Cache deps
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ env.OTP_VERSION }}
@ -99,7 +99,7 @@ jobs:
runs-on: ubuntu-latest
needs: build-and-cache
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ env.OTP_VERSION }}
@ -123,7 +123,7 @@ jobs:
runs-on: ubuntu-latest
needs: build-and-cache
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ env.OTP_VERSION }}
@ -146,7 +146,7 @@ jobs:
runs-on: ubuntu-latest
needs: build-and-cache
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ env.OTP_VERSION }}
@ -186,7 +186,7 @@ jobs:
runs-on: ubuntu-latest
needs: build-and-cache
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ env.OTP_VERSION }}
@ -212,7 +212,7 @@ jobs:
runs-on: ubuntu-latest
needs: build-and-cache
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ env.OTP_VERSION }}
@ -241,7 +241,7 @@ jobs:
runs-on: ubuntu-latest
needs: build-and-cache
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ env.OTP_VERSION }}
@ -289,7 +289,7 @@ jobs:
runs-on: ubuntu-latest
needs: build-and-cache
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ env.OTP_VERSION }}
@ -335,7 +335,7 @@ jobs:
runs-on: ubuntu-latest
needs: build-and-cache
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ env.OTP_VERSION }}
@ -392,7 +392,7 @@ jobs:
# Maps tcp port 5432 on service container to the host
- 5432:5432
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ env.OTP_VERSION }}
@ -446,7 +446,7 @@ jobs:
# Maps tcp port 5432 on service container to the host
- 5432:5432
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ env.OTP_VERSION }}
@ -511,7 +511,7 @@ jobs:
# Maps tcp port 5432 on service container to the host
- 5432:5432
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ env.OTP_VERSION }}
@ -575,7 +575,7 @@ jobs:
# Maps tcp port 5432 on service container to the host
- 5432:5432
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ env.OTP_VERSION }}

@ -18,23 +18,20 @@ jobs:
short-sha: ${{ steps.output-step.outputs.short-sha }}
steps:
- name: Check out the repo
uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3
- name: Log in to Docker Hub
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v4
uses: docker/metadata-action@v5
with:
images: blockscout/blockscout
@ -48,7 +45,7 @@ jobs:
id: output-step
- name: Build and push Docker image
uses: docker/build-push-action@v3
uses: docker/build-push-action@v5
with:
context: .
file: ./docker/Dockerfile
@ -73,7 +70,7 @@ jobs:
RELEASE_VERSION=${{ env.RELEASE_VERSION }}
- name: Build and push Docker image for frontend
uses: docker/build-push-action@v3
uses: docker/build-push-action@v5
with:
context: .
file: ./docker/Dockerfile

@ -18,17 +18,17 @@ jobs:
DOCKER_CHAIN_NAME: poa
steps:
- name: Check out the repo
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Log in to Docker Hub
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v4
uses: docker/metadata-action@v5
with:
images: blockscout/blockscout
@ -36,7 +36,7 @@ jobs:
run: echo "SHORT_SHA=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_ENV
- name: Build and push Docker image
uses: docker/build-push-action@v3
uses: docker/build-push-action@v5
with:
context: .
file: ./docker/Dockerfile

@ -18,17 +18,17 @@ jobs:
DOCKER_CHAIN_NAME: eth-goerli
steps:
- name: Check out the repo
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Log in to Docker Hub
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v4
uses: docker/metadata-action@v5
with:
images: blockscout/blockscout
@ -36,7 +36,7 @@ jobs:
run: echo "SHORT_SHA=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_ENV
- name: Build and push Docker image
uses: docker/build-push-action@v3
uses: docker/build-push-action@v5
with:
context: .
file: ./docker/Dockerfile

@ -18,17 +18,17 @@ jobs:
DOCKER_CHAIN_NAME: mainnet
steps:
- name: Check out the repo
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Log in to Docker Hub
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v4
uses: docker/metadata-action@v5
with:
images: blockscout/blockscout
@ -36,7 +36,7 @@ jobs:
run: echo "SHORT_SHA=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_ENV
- name: Build and push Docker image
uses: docker/build-push-action@v3
uses: docker/build-push-action@v5
with:
context: .
file: ./docker/Dockerfile

@ -18,23 +18,20 @@ jobs:
DOCKER_CHAIN_NAME: fuse
steps:
- name: Check out the repo
uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3
- name: Log in to Docker Hub
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v4
uses: docker/metadata-action@v5
with:
images: blockscout/blockscout
@ -42,7 +39,7 @@ jobs:
run: echo "SHORT_SHA=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_ENV
- name: Build and push Docker image
uses: docker/build-push-action@v3
uses: docker/build-push-action@v5
with:
context: .
file: ./docker/Dockerfile

@ -18,13 +18,10 @@ jobs:
DOCKER_CHAIN_NAME: immutable
steps:
- name: Check out the repo
uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3
- name: Log in to Docker Hub
uses: docker/login-action@v2
@ -34,7 +31,7 @@ jobs:
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v4
uses: docker/metadata-action@v5
with:
images: blockscout/blockscout
@ -42,7 +39,7 @@ jobs:
run: echo "SHORT_SHA=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_ENV
- name: Build and push Docker image
uses: docker/build-push-action@v3
uses: docker/build-push-action@v5
with:
context: .
file: ./docker/Dockerfile

@ -18,7 +18,7 @@ jobs:
DOCKER_CHAIN_NAME: optimism-l2-advanced
steps:
- name: Check out the repo
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Log in to Docker Hub
uses: docker/login-action@v2
@ -28,7 +28,7 @@ jobs:
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v4
uses: docker/metadata-action@v5
with:
images: blockscout/blockscout
@ -36,7 +36,7 @@ jobs:
run: echo "SHORT_SHA=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_ENV
- name: Build and push Docker image
uses: docker/build-push-action@v3
uses: docker/build-push-action@v5
with:
context: .
file: ./docker/Dockerfile

@ -18,7 +18,7 @@ jobs:
DOCKER_CHAIN_NAME: lukso
steps:
- name: Check out the repo
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Log in to Docker Hub
uses: docker/login-action@v2
@ -28,7 +28,7 @@ jobs:
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v4
uses: docker/metadata-action@v5
with:
images: blockscout/blockscout
@ -36,7 +36,7 @@ jobs:
run: echo "SHORT_SHA=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_ENV
- name: Build and push Docker image
uses: docker/build-push-action@v3
uses: docker/build-push-action@v5
with:
context: .
file: ./docker/Dockerfile

@ -18,7 +18,7 @@ jobs:
DOCKER_CHAIN_NAME: optimism
steps:
- name: Check out the repo
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Log in to Docker Hub
uses: docker/login-action@v2
@ -28,7 +28,7 @@ jobs:
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v4
uses: docker/metadata-action@v5
with:
images: blockscout/blockscout
@ -36,12 +36,15 @@ jobs:
run: echo "SHORT_SHA=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_ENV
- name: Build and push Docker image
uses: docker/build-push-action@v3
uses: docker/build-push-action@v5
with:
context: .
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 }}
platforms: |
linux/amd64
linux/arm64/v8
build-args: |
CACHE_EXCHANGE_RATES_PERIOD=
API_V1_READ_METHODS_DISABLED=false

@ -18,7 +18,7 @@ jobs:
DOCKER_CHAIN_NAME: rsk
steps:
- name: Check out the repo
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Log in to Docker Hub
uses: docker/login-action@v2
@ -28,7 +28,7 @@ jobs:
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v4
uses: docker/metadata-action@v5
with:
images: blockscout/blockscout

@ -18,13 +18,10 @@ jobs:
DOCKER_CHAIN_NAME: xdai
steps:
- name: Check out the repo
uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3
- name: Log in to Docker Hub
uses: docker/login-action@v2
@ -34,7 +31,7 @@ jobs:
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v4
uses: docker/metadata-action@v5
with:
images: blockscout/blockscout
@ -42,7 +39,7 @@ jobs:
run: echo "SHORT_SHA=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_ENV
- name: Build and push Docker image
uses: docker/build-push-action@v3
uses: docker/build-push-action@v5
with:
context: .
file: ./docker/Dockerfile

@ -18,7 +18,7 @@ jobs:
DOCKER_CHAIN_NAME: zksync
steps:
- name: Check out the repo
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Log in to Docker Hub
uses: docker/login-action@v2
@ -28,7 +28,7 @@ jobs:
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v4
uses: docker/metadata-action@v5
with:
images: blockscout/blockscout
@ -36,7 +36,7 @@ jobs:
run: echo "SHORT_SHA=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_ENV
- name: Build and push Docker image
uses: docker/build-push-action@v3
uses: docker/build-push-action@v5
with:
context: .
file: ./docker/Dockerfile

@ -21,13 +21,10 @@ jobs:
RELEASE_VERSION: 5.2.3
steps:
- name: Check out the repo
uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3
- name: Log in to Docker Hub
uses: docker/login-action@v2
@ -37,12 +34,12 @@ jobs:
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v4
uses: docker/metadata-action@v5
with:
images: blockscout/blockscout
- name: Build & Push Docker image
uses: docker/build-push-action@v3
uses: docker/build-push-action@v5
with:
context: .
file: ./docker/Dockerfile
@ -51,8 +48,8 @@ jobs:
cache-to: type=registry,ref=blockscout/blockscout:buildcache,mode=max
tags: blockscout/blockscout:latest, blockscout/blockscout:${{ env.RELEASE_VERSION }}
platforms: |
linux/arm64
linux/amd64
linux/arm64/v8
build-args: |
CACHE_EXCHANGE_RATES_PERIOD=
API_V1_READ_METHODS_DISABLED=false
@ -96,7 +93,7 @@ jobs:
# production-rsk-stg
# production-immutable-stg
# steps:
# - uses: actions/checkout@v2
# - uses: actions/checkout@v4
# - name: Set Git config
# run: |
# git config --local user.email "actions@github.com"

@ -17,6 +17,7 @@
### Fixes
- [#8661](https://github.com/blockscout/blockscout/pull/8661) - arm64-compatible docker image
- [#8649](https://github.com/blockscout/blockscout/pull/8649) - Set max 30sec JSON RPC poll frequency for realtime fetcher when WS is disabled
- [#8614](https://github.com/blockscout/blockscout/pull/8614) - Disable market history cataloger fetcher when exchange rates are disabled
- [#8572](https://github.com/blockscout/blockscout/pull/8572) - Refactor docker-compose config

@ -1,10 +1,13 @@
FROM bitwalker/alpine-elixir-phoenix:1.14 AS builder
FROM hexpm/elixir:1.14.5-erlang-24.2.2-alpine-3.18.2 AS builder
WORKDIR /app
ENV MIX_ENV="prod"
RUN apk --no-cache --update add alpine-sdk gmp-dev automake libtool inotify-tools autoconf python3 file libstdc++ curl ca-certificates
RUN apk --no-cache --update add alpine-sdk gmp-dev automake libtool inotify-tools autoconf python3 file gcompat
RUN set -ex && \
apk --update add libstdc++ curl ca-certificates gcompat
ARG CACHE_EXCHANGE_RATES_PERIOD
ARG API_V1_READ_METHODS_DISABLED
@ -47,9 +50,13 @@ RUN cd apps/block_scout_web/assets/ && \
npm install && \
npm run deploy && \
cd /app/apps/explorer/ && \
npm install
npm install && \
apk update && \
apk del --force-broken-world alpine-sdk gmp-dev automake libtool inotify-tools autoconf python3
RUN apk add --update git make
RUN export "CFLAGS=-I/usr/local/include -L/usr/local/lib" && cd deps/ex_secp256k1 && mix deps.get && mix compile
RUN mix phx.digest
RUN mkdir -p /opt/release \
@ -57,7 +64,7 @@ RUN mkdir -p /opt/release \
&& mv _build/${MIX_ENV}/rel/blockscout /opt/release
##############################################################
FROM bitwalker/alpine-elixir-phoenix:1.14
FROM hexpm/elixir:1.14.5-erlang-24.2.2-alpine-3.18.2
ARG RELEASE_VERSION
ENV RELEASE_VERSION=${RELEASE_VERSION}

Loading…
Cancel
Save