Skip to content

Fix/check withdrawal bodiessyncfeed (#6345) #2

Fix/check withdrawal bodiessyncfeed (#6345)

Fix/check withdrawal bodiessyncfeed (#6345) #2

name: Publish Docker image
on:
push:
branches: [master, release/*]
paths:
- 'src/Nethermind/**'
workflow_dispatch:
inputs:
image-name:
description: Image name
required: true
default: nethermind
tag:
description: Image tag
required: true
dockerfile:
description: Dockerfile
required: true
default: Dockerfile
build-config:
description: Build configuration
required: true
default: release
type: choice
options:
- release
- debug
jobs:
publish-docker:
name: Publish to Docker Hub
runs-on: ubuntu-latest
steps:
- name: Check out repository
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: Log in to Docker Hub
if: success()
run: echo "${{ secrets.DOCKER_ACCESS_TOKEN }}" | docker login --username "${{ secrets.DOCKER_USERNAME }}" --password-stdin
- name: Build and push image to Docker Hub (staging)
run: |
branch=$(echo "${{ github.ref }}" | sed -e "s/refs\/heads\///g")
original_tag=${{ github.event.inputs.tag || '$branch' }}
tag=$(echo "$original_tag" | sed 's/\//-/g') # replace '/' with '-' in tag name
build_timestamp=$(date '+%s')
echo "Building image with tag $tag"
docker buildx build --platform=linux/amd64,linux/arm64 \
-f ${{ github.event.inputs.dockerfile || 'Dockerfile' }} \
-t "nethermindeth/${{ github.event.inputs.image-name || 'nethermind' }}:$tag" \
--build-arg BUILD_CONFIG=${{ github.event.inputs.build-config || 'release' }} \
--build-arg BUILD_TIMESTAMP=$build_timestamp \
--build-arg CI=$CI \
--build-arg COMMIT_HASH=$GITHUB_SHA \
. --push
- name: Clear Docker cache
if: always()
run: rm -f $HOME/.docker/config.json