Skip to content

Docker arm64 runners#3137

Merged
zzzckck merged 2 commits intobnb-chain:developfrom
dysnix:docker-arm64-runners
Jun 10, 2025
Merged

Docker arm64 runners#3137
zzzckck merged 2 commits intobnb-chain:developfrom
dysnix:docker-arm64-runners

Conversation

@voron
Copy link
Copy Markdown
Contributor

@voron voron commented Jun 2, 2025

Description

This PR adds multi-arch docker image build using native arm64 GH runner. Based on Docker docs

Rationale

All 3 major cloud providers are selling arm64 cost-effective CPUs. It may be useful to Apple Silicon users as well

Changes

Notable changes:

  • ci: Dockerfile bump alpine version
  • ci: docker-release add arm64 runner and multi-arch build

@zzzckck zzzckck changed the base branch from master to develop June 3, 2025 09:10
@zzzckck zzzckck requested a review from Copilot June 4, 2025 07:27
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces multi-arch Docker image builds by adding arm64 support to the CI/CD pipeline.

  • Updated the Dockerfile to use Alpine 3.21 for the deployment stage.
  • Enhanced the GitHub Actions workflow (.github/workflows/docker-release.yml) by implementing a matrix build for amd64 and arm64, updating action versions, and incorporating multi-arch tag and manifest creation.

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
Dockerfile Bumps the Alpine version from 3.17 to 3.21 to support the updated base.
.github/workflows/docker-release.yml Adds new jobs and steps for multi-arch build, including arm64 support, and updates various action versions.
Comments suppressed due to low confidence (2)

Dockerfile:23

  • Ensure that the Alpine version bump to 3.21 is compatible with all dependent libraries and any assumptions made in the rest of the build process.
+FROM alpine:3.21

.github/workflows/docker-release.yml:110

  • [nitpick] Verify that using '*' for digest file expansion in the subsequent command only includes the intended files, to avoid accidental inclusion of unintended file names.
docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \

@voron voron force-pushed the docker-arm64-runners branch from c16865e to 669b6c2 Compare June 5, 2025 09:55
@buddh0 buddh0 changed the base branch from develop to master June 6, 2025 10:00
buddh0
buddh0 previously approved these changes Jun 6, 2025
@buddh0 buddh0 dismissed their stale review June 6, 2025 10:59

keep using PACKAGE_TOKEN to login pls

@bnb-chain bnb-chain deleted a comment from NathanBSC Jun 7, 2025
@buddh0 buddh0 changed the base branch from master to develop June 9, 2025 09:27
@voron voron force-pushed the docker-arm64-runners branch from 669b6c2 to e0addd7 Compare June 9, 2025 10:12
@voron voron requested review from NathanBSC and buddh0 June 9, 2025 10:22
@buddh0 buddh0 removed the request for review from NathanBSC June 10, 2025 02:04
@zzzckck zzzckck merged commit 53ce876 into bnb-chain:develop Jun 10, 2025
7 checks passed
@zzzckck
Copy link
Copy Markdown
Collaborator

zzzckck commented Jun 10, 2025

@voron thank you for your contribution👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants