From 791efc8b57d4b618fa4a8066d828ceffea35bff9 Mon Sep 17 00:00:00 2001 From: Duncan Tourolle Date: Thu, 24 Sep 2026 04:12:47 +0200 Subject: [PATCH] ci: run on any runner, amd64 or arm64 The builder image is now multi-arch (linux/amd64 + linux/arm64). Both variants were tested by running this repo's own CI build steps in each before being pushed as :latest. Jobs therefore no longer need an amd64 host: runs-on moves to ubuntu-latest, which the amd64 runner (draco-x86) and the ARM runner (oracle-a1) both carry, so jobs go to whichever is free instead of queueing behind long jobs on draco. The Dockerfile header now gives the buildx command for the multi-arch image, so a rebuild does not silently go back to amd64-only. Co-Authored-By: Claude Opus 5.5 (1M context) --- .gitea/workflows/build.yaml | 2 +- .gitea/workflows/release.yaml | 2 +- Dockerfile.builder | 7 +++++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 2e9a99e..6542cea 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -15,7 +15,7 @@ on: jobs: build: - runs-on: linux/amd64 + runs-on: ubuntu-latest container: image: gitea.tourolle.paris/dtourolle/jellylms-builder:latest diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml index 46b63f8..0b5c345 100644 --- a/.gitea/workflows/release.yaml +++ b/.gitea/workflows/release.yaml @@ -13,7 +13,7 @@ on: jobs: build-and-release: - runs-on: linux/amd64 + runs-on: ubuntu-latest container: image: gitea.tourolle.paris/dtourolle/jellylms-builder:latest diff --git a/Dockerfile.builder b/Dockerfile.builder index d17ed0f..35fb239 100644 --- a/Dockerfile.builder +++ b/Dockerfile.builder @@ -1,7 +1,10 @@ # JellyLMS Builder Image # Pre-built image with .NET SDK and JPRM for building Jellyfin plugins -# Build: docker build -f Dockerfile.builder -t gitea.tourolle.paris/dtourolle/jellylms-builder:latest . -# Push: docker push gitea.tourolle.paris/dtourolle/jellylms-builder:latest +# Multi-arch (amd64 + arm64): CI runs on ubuntu-latest, which both the amd64 and the +# ARM runners carry, so the image must exist for both. +# Build + push (needs a docker-container buildx builder and arm64 binfmt/QEMU): +# docker buildx build -f Dockerfile.builder --platform linux/amd64,linux/arm64 \ +# -t gitea.tourolle.paris/dtourolle/jellylms-builder:latest --push . FROM mcr.microsoft.com/dotnet/sdk:10.0