Skip to content

Commit

Permalink
Publish official docker images for the Nimbus validator client (#4439)
Browse files Browse the repository at this point in the history
Fixes #4426
  • Loading branch information
zah authored Dec 19, 2022
1 parent bd8f082 commit bf50e5a
Show file tree
Hide file tree
Showing 4 changed files with 71 additions and 3 deletions.
20 changes: 17 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push a Docker image for end users
- name: Build and push a Docker images for end users
run: |
cd dist
tar -xzf ${{ steps.make_dist.outputs.archive }}
Expand All @@ -56,6 +56,10 @@ jobs:
DOCKER_BUILDKIT=1 docker build -f Dockerfile.amd64 -t statusim/nimbus-eth2:amd64-${TAG} -t statusim/nimbus-eth2:amd64-latest .
docker push statusim/nimbus-eth2:amd64-${TAG}
docker push statusim/nimbus-eth2:amd64-latest
DOCKER_BUILDKIT=1 docker build -f Dockerfile.vc.amd64 -t statusim/nimbus-validator-client:amd64-${TAG} -t statusim/nimbus-validator-client:amd64-latest .
docker push statusim/nimbus-validator-client:amd64-${TAG}
docker push statusim/nimbus-validator-client:amd64-latest
- name: Setup ruby # Needed for fpm
uses: ruby/setup-ruby@v1
with:
Expand Down Expand Up @@ -118,7 +122,7 @@ jobs:
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push a Docker image for end users
- name: Build and push a Docker images for end users
run: |
cd dist
tar -xzf ${{ steps.make_dist.outputs.archive }}
Expand All @@ -127,9 +131,14 @@ jobs:
REFNAME="${{ github.ref }}"
TAG="${REFNAME#refs/tags/}"
cp -a /usr/bin/qemu-aarch64-static .
DOCKER_BUILDKIT=1 docker build -f Dockerfile.arm64 -t statusim/nimbus-eth2:arm64-${TAG} -t statusim/nimbus-eth2:arm64-latest .
docker push statusim/nimbus-eth2:arm64-${TAG}
docker push statusim/nimbus-eth2:arm64-latest
DOCKER_BUILDKIT=1 docker build -f Dockerfile.vc.arm64 -t statusim/nimbus-validator-client:arm64-${TAG} -t statusim/nimbus-validator-client:arm64-latest .
docker push statusim/nimbus-validator-client:arm64-${TAG}
docker push statusim/nimbus-validator-client:arm64-latest
- name: Setup ruby # Needed for fpm
uses: ruby/setup-ruby@v1
with:
Expand Down Expand Up @@ -192,7 +201,7 @@ jobs:
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push a Docker image for end users
- name: Build and push a Docker images for end users
run: |
cd dist
tar -xzf ${{ steps.make_dist.outputs.archive }}
Expand All @@ -204,6 +213,11 @@ jobs:
DOCKER_BUILDKIT=1 docker build -f Dockerfile.arm -t statusim/nimbus-eth2:arm-${TAG} -t statusim/nimbus-eth2:arm-latest .
docker push statusim/nimbus-eth2:arm-${TAG}
docker push statusim/nimbus-eth2:arm-latest
DOCKER_BUILDKIT=1 docker build -f Dockerfile.vc.arm -t statusim/nimbus-validator-client:arm-${TAG} -t statusim/nimbus-validator-client:arm-latest .
docker push statusim/nimbus-validator-client:arm-${TAG}
docker push statusim/nimbus-validator-client:arm-latest
- name: Setup ruby # Needed for fpm
uses: ruby/setup-ruby@v1
with:
Expand Down
15 changes: 15 additions & 0 deletions docker/dist/binaries/Dockerfile.vc.amd64
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
FROM debian:bullseye-slim

SHELL ["/bin/bash", "-c"]

# Likely to match the first regular user:group created on the host.
RUN addgroup --gid 1000 user; \
adduser --disabled-password --gecos '' --uid 1000 --gid 1000 user;

USER user

STOPSIGNAL SIGINT

COPY "nimbus-eth2/build/nimbus_validator_client" "/home/user/nimbus_validator_client"
WORKDIR "/home/user/"
ENTRYPOINT ["/home/user/nimbus_validator_client"]
19 changes: 19 additions & 0 deletions docker/dist/binaries/Dockerfile.vc.arm
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
FROM arm32v7/debian:bullseye-slim

SHELL ["/bin/bash", "-c"]

# We need the host's registered binfmt_misc "interpreter" inside the container,
# for that transparent virtualisation to work.
COPY "qemu-arm-static" "/usr/bin/"

# Likely to match the first regular user:group created on the host.
RUN addgroup --gid 1000 user; \
adduser --disabled-password --gecos '' --uid 1000 --gid 1000 user;

USER user

STOPSIGNAL SIGINT

COPY "nimbus-eth2/build/nimbus_validator_client" "/home/user/nimbus_validator_client"
WORKDIR "/home/user/"
ENTRYPOINT ["/home/user/nimbus_validator_client"]
20 changes: 20 additions & 0 deletions docker/dist/binaries/Dockerfile.vc.arm64
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
FROM arm64v8/debian:bullseye-slim

SHELL ["/bin/bash", "-c"]

# We need the host's registered binfmt_misc "interpreter" inside the container,
# for that transparent virtualisation to work.
COPY "qemu-aarch64-static" "/usr/bin/"

# Likely to match the first regular user:group created on the host.
RUN addgroup --gid 1000 user; \
adduser --disabled-password --gecos '' --uid 1000 --gid 1000 user;

USER user

STOPSIGNAL SIGINT

COPY "nimbus-eth2/build/nimbus_validator_client" "/home/user/nimbus_validator_client"
WORKDIR "/home/user/"
ENTRYPOINT ["/home/user/nimbus_validator_client"]

0 comments on commit bf50e5a

Please sign in to comment.