The builder image is now multi-arch (linux/amd64 + linux/arm64, pushed as srfplay-builder:latest after building all three plugin zips in each variant), so jobs no longer need an amd64 host. runs-on moves from linux/amd64 to ubuntu-latest, which draco-x86, freebox and oracle-a1 all carry, so a job no longer waits behind long jobs on draco while the ARM runners sit idle. .gitea/runner/cloud-init.yaml sets up such a runner on an Oracle Cloud Always Free Ampere VM (Ubuntu 24.04): Docker, act_runner registered instance-wide with the instance's label set, and a weekly image prune. The registration token and the optional console password hash are placeholders here and must be filled in locally before use. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
23 lines
749 B
Docker
23 lines
749 B
Docker
# SRFPlay Builder Image
|
|
# Pre-built image with .NET SDK and JPRM for building Jellyfin plugins
|
|
# Multi-arch (amd64 + arm64) so runners on ARM hosts such as Oracle Cloud's free
|
|
# Ampere VMs can use it too; the plugin DLLs it produces are identical either way.
|
|
# 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/srfplay-builder:latest --push .
|
|
|
|
FROM mcr.microsoft.com/dotnet/sdk:10.0
|
|
|
|
RUN apt-get update && apt-get install -y \
|
|
python3 \
|
|
python3-pip \
|
|
git \
|
|
jq \
|
|
nodejs \
|
|
npm \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN pip install --break-system-packages jprm
|
|
|
|
WORKDIR /src
|