Skip to content

feat: matrix ci - #2008

Merged
seefs001 merged 1 commit into
QuantumNous:alphafrom
seefs001:fix/ci
Oct 11, 2025
Merged

feat: matrix ci#2008
seefs001 merged 1 commit into
QuantumNous:alphafrom
seefs001:fix/ci

Conversation

@seefs001

@seefs001 seefs001 commented Oct 11, 2025

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • New Features
    • Publish native amd64 and arm64 images.
    • Provide multi-arch manifests so “latest”/“alpha” and versioned tags pull the right architecture.
    • Deliver images to both Docker Hub and GHCR with per-arch and multi-arch tags.
  • Chores
    • Streamlined build pipeline with native multi-arch builds and manifest creation.
    • Improved tagging consistency and version handling.
    • Added build caching and refined image metadata (labels).

@coderabbitai

coderabbitai Bot commented Oct 11, 2025

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Walkthrough

Refactors Docker image workflows to use a matrix for native amd64/arm64 single-arch builds, then creates multi-arch manifests for Docker Hub and GHCR on tag refs. Adjusts version/tag resolution, login steps, and Docker metadata. Updates Dockerfile to use TARGETOS/TARGETARCH ARGs with corresponding GOOS/GOARCH ENV for multi-arch builds.

Changes

Cohort / File(s) Summary
CI workflows: matrix single-arch builds + multi-arch manifests
\.github/workflows/docker-image-alpha.yml, \.github/workflows/docker-image-arm64.yml
Replace single job with matrix-based per-arch builds (amd64, arm64) using native runners; shallow checkout; revised version/tag resolution; explicit Buildx setup; GHCR login naming; metadata limited to labels; build-and-push per-arch to Docker Hub and GHCR with cache; new job creates/pushes multi-arch manifests (alpha/version and latest where applicable) for both registries.
Dockerfile multi-arch ARG/ENV adjustments
Dockerfile
Introduce ARG TARGETOS/TARGETARCH and set GOOS/GOARCH via ENV; explicitly set GO111MODULE=on and CGO_ENABLED=0 in builder stage; remove prior combined ENV block; no change to build steps beyond environment sourcing.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor Dev as Tag push
  participant GHA as GitHub Actions
  participant BLD as build_single_arch (matrix)
  participant DH as Docker Hub
  participant GHCR as GHCR
  participant MFT as create_manifests

  Dev->>GHA: refs/tags/*
  GHA->>BLD: Start matrix (amd64, arm64)
  rect rgba(200,230,255,0.3)
    note over BLD: For each arch
    BLD->>BLD: Resolve version/tag
    BLD->>BLD: Setup Buildx
    BLD->>DH: Push image:alpha-ARCH, VERSION-ARCH
    BLD->>GHCR: Push image:alpha-ARCH, VERSION-ARCH
  end
  BLD-->>GHA: Per-arch images pushed
  GHA->>MFT: needs: build_single_arch
  rect rgba(220,255,220,0.3)
    MFT->>DH: imagetools create alpha, versioned-alpha (multi-arch)
    MFT->>GHCR: imagetools create alpha, versioned-alpha (multi-arch)
  end
  MFT-->>Dev: Multi-arch manifests available
  note over MFT: Runs only on tag refs
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Poem

I thump my paws on silicon ground,
Two arches hop—now side by side bound.
Tags sprout like clover, crisp and light,
Manifests weave the streams just right.
ARGs and ENVs in tidy rows—
A rabbit nods: ship it goes! 🐇🚢

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c948f85 and 24bc24a.

📒 Files selected for processing (3)
  • .github/workflows/docker-image-alpha.yml (1 hunks)
  • .github/workflows/docker-image-arm64.yml (2 hunks)
  • Dockerfile (1 hunks)

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@seefs001
seefs001 merged commit 4e0c911 into QuantumNous:alpha Oct 11, 2025
1 check was pending
This was referenced Oct 12, 2025
@coderabbitai coderabbitai Bot mentioned this pull request Jan 25, 2026
@coderabbitai coderabbitai Bot mentioned this pull request Feb 22, 2026
@coderabbitai coderabbitai Bot mentioned this pull request Apr 5, 2026
@coderabbitai coderabbitai Bot mentioned this pull request May 22, 2026
@coderabbitai coderabbitai Bot mentioned this pull request Jun 16, 2026
11 tasks
@coderabbitai coderabbitai Bot mentioned this pull request Jun 30, 2026
11 tasks
@coderabbitai coderabbitai Bot mentioned this pull request Jul 15, 2026
11 tasks
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.

1 participant