Skip to content

Merge branch 'NethermindEth:master' into master #4

Merge branch 'NethermindEth:master' into master

Merge branch 'NethermindEth:master' into master #4

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
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_ACCESS_TOKEN }}
- 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