Skip to content

Optimize Docker builds with native ARM64 runners#132

Merged
simonmarty merged 2 commits intoaws:mainfrom
reyhankoyun:feature/docker-optimization
Oct 8, 2025
Merged

Optimize Docker builds with native ARM64 runners#132
simonmarty merged 2 commits intoaws:mainfrom
reyhankoyun:feature/docker-optimization

Conversation

@reyhankoyun
Copy link
Copy Markdown
Contributor

@reyhankoyun reyhankoyun commented Oct 8, 2025

Issue #, if available:

Description of changes:

Problem
Currently, the Docker builds take ~90 minutes due to ARM64 emulation on x86 runners. This significantly slows down CI feedback and developer productivity.

Solution
Replace slow emulation with native architecture runners similar to the CSI Driver (see here).

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@reyhankoyun reyhankoyun requested a review from a team as a code owner October 8, 2025 21:58
@codecov
Copy link
Copy Markdown

codecov bot commented Oct 8, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.72%. Comparing base (7250d10) to head (49fdc2f).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #132   +/-   ##
=======================================
  Coverage   91.72%   91.72%           
=======================================
  Files          14       14           
  Lines        2418     2418           
  Branches     2418     2418           
=======================================
  Hits         2218     2218           
  Misses        150      150           
  Partials       50       50           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@simonmarty simonmarty enabled auto-merge (squash) October 8, 2025 23:27
Comment on lines +11 to +36
strategy:
matrix:
runner: [ubuntu-latest, ubuntu-24.04-arm]
include:
- os: linux
- arch: amd64
runner: ubuntu-latest
- arch: arm64
runner: ubuntu-24.04-arm
runs-on: ${{ matrix.runner }}

steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build

- name: Build the Docker image
uses: docker/build-push-action@v6
with:
context: .
platforms: linux/amd64,linux/arm64
push: false
tags: test-build:latest
platforms: ${{ matrix.os }}/${{ matrix.arch }}
load: true
tags: test-build:latest-${{ matrix.arch }}

- name: List images
run: |
docker image ls -a

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
@simonmarty simonmarty merged commit bad0177 into aws:main Oct 8, 2025
10 checks passed
@reyhankoyun reyhankoyun deleted the feature/docker-optimization branch October 8, 2025 23:50
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.

4 participants