Files
silo-server/.github/workflows
c90e736054 ci(docker): publish multi-arch images (linux/amd64 + linux/arm64) (#437)
* ci(docker): publish multi-arch images (linux/amd64 + linux/arm64)

The Dockerfile was already arch-aware (TARGETARCH in the Jellyfin apt
repo); this adds linux/arm64 to the buildx platform list so the pushed
manifest list serves both x86 servers and arm64 hosts (Apple Silicon,
Graviton, Pi 4/5). Verified locally on the arm64 runner host: image
builds and both silo and jellyfin-ffmpeg run.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* ci(docker): move image builds to GitHub-hosted runners

Replaces the single self-hosted job with a per-arch matrix (ubuntu-latest
for amd64, ubuntu-24.04-arm for arm64) so each platform builds natively
with no emulation, pushing by digest, plus a merge job that stitches the
digests into one tagged manifest list. Layer caching moves from the
persistent local builder to type=gha per-platform scopes.

The private-SDK constraint that originally forced self-hosted no longer
applies: silo-plugin-sdk is public and resolves from proxy.golang.org.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* ci(docker): use normalized IMAGE_LC in merge-job metadata step

Not a functional fix — metadata-action lowercases the images input
itself (proven by run 29768620803) — but keeps all image references in
the merge job on the explicit IMAGE_LC form.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 14:56:46 -04:00
..
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00