Skip to content

Multi-arch rootless image (amd64 + arm64) - #1

Merged
maordavidov merged 1 commit into
release/v1.20from
arm64/multiarch
Sep 28, 2026
Merged

maordavidov merged 1 commit into
release/v1.20from
arm64/multiarch

Conversation

@maordavidov

Copy link
Copy Markdown

Multi-arch (linux/amd64 + linux/arm64) builds, part of moving EKS to arm64 (Graviton).

🤖 Generated with Claude Code

https://claude.ai/code/session_014NcddqY43b3wAdjBdjcnFf

  • Dockerfile.rootless cross-compiles with tonistiigi/xx on BUILDPLATFORM; runtime stage unchanged; GITEA_BUILD_VERSION build arg; make docker-multiarch. Prod runs v1.20-dcode.4-rootless built from this.

The finoptic-internal EKS cluster is moving to Graviton (arm64), and
dcodetech/gitea:v1.20-dcode.3-rootless is amd64-only.

Dockerfile.rootless now runs its build stage on the build host's platform
and cross-compiles the gitea binary (cgo, for sqlite) with tonistiigi/xx,
so a two-platform build needs no emulated Go or node toolchain. The
frontend and go generate/bindata steps are platform-independent and run
once, natively. The runtime stage is unchanged.

GITEA_BUILD_VERSION sets the version string when the build context has no
usable .git directory (a git worktree). The new docker-multiarch make
target builds and pushes both platforms.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014NcddqY43b3wAdjBdjcnFf
@maordavidov
maordavidov merged commit a8ccaec into release/v1.20 Sep 28, 2026
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