ObolNetwork / ObolNetwork/charon

Move linux/arm64 Docker build in pipelines to arm64 machine

Open
#2,970 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

cicd good first issue protocol
Dominant language
Go
Stars
222
Forks
138
Avg merge
2d 6h
Merged PRs (30d)
35

Description

🎯 Problem to be solved

Currently in the github pipelines the Docker images are built for both linux/amd64 and linux/arm64 platforms. However, both of them are on amd64 linux machine, which forces the runner to build the arm64 through qemu virtualization. This results in 6 to 8 times slower build times. Since 30th Jan 2024 github provides Apple silicon chips, which can build natively arm64. Building on those machines should result in much faster CI/CD pipeline.

🛠️ Proposed solution

  • Investigate if arm64 builds are faster on github macos machine
  • Split the build step of Docker to 2 different machines - one running on ubuntu-latest, the other running on macos-14

🧪 Tests

  • Pipeline passes for both platforms
  • Both images are available on ghcr

👐 Additional acceptance criteria

  • CI/CD pipeline completion time is considerably less

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Locate the GitHub Actions workflow that builds and publishes the linux/amd64 and linux/arm64 Docker images, then review how its runners and platform builds are configured. Compare the arm64 build on ubuntu-latest and macos-14, and verify that both platform images publish to GHCR and the pipeline completes faster.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, github-actions
Domain
ci-cd, devops
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.