Skip to content

Migrate multi-arch Docker builds to GitHub Actions#10203

Open
DeathGun44 wants to merge 1 commit intobesu-eth:mainfrom
DeathGun44:feat/docker-multi-arch-github-actions
Open

Migrate multi-arch Docker builds to GitHub Actions#10203
DeathGun44 wants to merge 1 commit intobesu-eth:mainfrom
DeathGun44:feat/docker-multi-arch-github-actions

Conversation

@DeathGun44
Copy link
Copy Markdown

PR description

Following up on Discord discussion with Simon, this PR introduces a standalone GitHub Actions workflow (.github/workflows/docker-publish.yml) to handle multi-arch Docker builds and publishing, made by first understanding the architecture used by web3signer.

Architecture

  • Native runners: ubuntu-latest (amd64) + besu-arm64 (arm64) — no QEMU emulation
  • Digest handoff: push-by-digest=true during matrix build; manifest job assembles via docker buildx imagetools create with immutable @sha256 refs — correctly handles OCI indices on Docker 29's containerd image store
  • Layer caching: GHA cache-from/cache-to scoped per arch; write-once on the test-load step, read-only on the push step
  • Concurrency & permissions: cancellation group + explicit contents: read per job

Co-existence
No Gradle tasks were removed or modified. This workflow runs in parallel with develop.yml and draft-release.yml during the transition period. Follow-up PRs will deprecate the legacy pipeline once this is proven stable.

Fixed Issue(s)

fixes #9818

Thanks for sending a pull request! Have you done the following?

  • Checked out our contribution guidelines?
  • Considered documentation and added the doc-change-required label to this PR if updates are required — no doc changes required, CI-only workflow addition
  • Considered the changelog and included an update if required — no changelog entry needed, internal CI infrastructure change
  • For database changes considered compatibility — not applicable

Signed-off-by: Krishna Mewara <krishnamewara841@gmail.com>
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.

Use docker buildx imagetools for multi-arch manifest creation

1 participant