From 408cb26da746504e2cf3b3a21a163b74eb64ad2b Mon Sep 17 00:00:00 2001 From: Duncan Tourolle Date: Thu, 24 Sep 2026 04:12:43 +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 +- .gitea/workflows/test.yaml | 2 +- Dockerfile.builder | 7 +++++-- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 4668b07..7934024 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/watchedtogether-builder:latest diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml index af6f580..d9f49de 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/watchedtogether-builder:latest diff --git a/.gitea/workflows/test.yaml b/.gitea/workflows/test.yaml index c7e7900..68981f4 100644 --- a/.gitea/workflows/test.yaml +++ b/.gitea/workflows/test.yaml @@ -17,7 +17,7 @@ on: jobs: test: - runs-on: linux/amd64 + runs-on: ubuntu-latest container: image: gitea.tourolle.paris/dtourolle/watchedtogether-builder:latest diff --git a/Dockerfile.builder b/Dockerfile.builder index b0d6bc6..170c815 100644 --- a/Dockerfile.builder +++ b/Dockerfile.builder @@ -2,8 +2,11 @@ # Pre-built image with the .NET 10 SDK and JPRM for building and testing the plugin. The SDK builds # both the net9.0 (Jellyfin 10.11) and net10.0 (Jellyfin 12) targets; the net9.0 test run rolls # forward onto the .NET 10 runtime. -# Build: docker build -f Dockerfile.builder -t gitea.tourolle.paris/dtourolle/watchedtogether-builder:latest . -# Push: docker push gitea.tourolle.paris/dtourolle/watchedtogether-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/watchedtogether-builder:latest --push . FROM mcr.microsoft.com/dotnet/sdk:10.0