Skip to content

ci(images): build amd64 and arm64 on native runners - #13

Merged
mlhiter merged 1 commit into
mainfrom
davis/ci-build-speedup
Oct 14, 2026
Merged

mlhiter merged 1 commit into
mainfrom
davis/ci-build-speedup

Conversation

@mlhiter

@mlhiter mlhiter commented Oct 13, 2026

Copy link
Copy Markdown
Collaborator

Summary

Runtime builds currently run both architectures on an x86 runner using QEMU, slowing down ARM64 builds.
Build amd64 and arm64 in parallel on native Ubuntu runners, isolate caches by source and architecture, and merge the published runtime images before cluster packaging.
Cluster packaging also uses native runners and matching Sealos binaries for both source trees, following sealos-apps/template@25481b3.

Validation

Passed actionlint, all four deployment compatibility tests, and git diff --check; remote CI performance is not yet verified.

Sequence Diagram

sequenceDiagram
    participant Metadata as Metadata and validation
    participant AMD as Native amd64 runner
    participant ARM as Native arm64 runner
    participant Registry as GHCR
    participant Cluster as Native cluster runners
    Metadata->>AMD: Build runtime with amd64 cache
    Metadata->>ARM: Build runtime with arm64 cache
    alt Publication enabled
        AMD->>Registry: Push amd64 runtime tag
        ARM->>Registry: Push arm64 runtime tag
        Registry->>Registry: Merge runtime manifest after both builds pass
        Registry->>Cluster: Provide multi-platform runtime image
        Cluster->>Registry: Publish cluster images and merged manifest
    else Validation only
        AMD-->>Metadata: Build result
        ARM-->>Metadata: Build result
    end
Loading

contents: read
packages: write
steps:
- uses: docker/setup-buildx-action@v3
packages: write
steps:
- uses: docker/setup-buildx-action@v3
- uses: docker/login-action@v3
@mlhiter
mlhiter merged commit cc0ba6e into main Oct 14, 2026
16 checks passed
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.

2 participants