From 5953a5d9f0e7b6a8cb3f8827c3417476e105c621 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Wed, 26 Aug 2026 16:40:45 +0100 Subject: [PATCH] +qemu --- Dockerfile | 64 ++++++++++++++++++++++++++++++++++++++++++++++++------ README.md | 2 +- 2 files changed, 58 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index 6aeda3c..8cba4e9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,15 +4,53 @@ FROM debian:13-slim ENV DEBIAN_FRONTEND=noninteractive ENV ANDROID_HOME=/opt/android-sdk ENV ANDROID_AVD_HOME=${ANDROID_HOME}/.android/avd +ENV ANDROID_USER_HOME=${ANDROID_HOME}/.android ENV PATH=${PATH}:${ANDROID_HOME}/cmdline-tools/latest/bin:${ANDROID_HOME}/platform-tools:${ANDROID_HOME}/emulator + +ARG VERSION_SEABIOS="1.17.0-1" +ARG VERSION_QEMU="1:11.1.0+ds-2" +ARG DEBIAN_SNAPSHOT="20260819T142328Z" +ARG VERSION_EFI="2026.05-2" + +RUN echo "deb https://deb.debian.org/debian trixie non-free" > /etc/apt/sources.list.d/non-free.list + RUN apt-get update && apt-get install -y --no-install-recommends \ - ca-certificates \ - wget \ - curl \ - gnupg \ - unzip \ + bc \ jq \ + xxd \ + tini \ + wget \ + 7zip \ + 7zip-rar \ + curl \ + aria2 \ + fdisk \ + gnupg \ + nginx \ + unzip \ + procps \ + ipcalc \ + ethtool \ + python3 \ + python3-pip \ + iptables \ + iproute2 \ + dnsmasq \ + xorriso \ + pciutils \ + xz-utils \ + apt-utils \ + net-tools \ + e2fsprogs \ + diffutils \ + util-linux \ + cpu-checker \ + iputils-ping \ + genisoimage \ + inotify-tools \ + netcat-openbsd \ + ca-certificates \ && rm -rf /var/lib/apt/lists/* # Installation de SDK Android @@ -50,12 +88,24 @@ RUN apt-get install -y --no-install-recommends \ libxrender1 \ libxtst6 \ && rm -rf /var/lib/apt/lists/* + + +RUN < /etc/apt/sources.list.d/qemu-snapshot.list + + apt-get update + apt-get --no-install-recommends -y -t sid install \ + "seabios=${VERSION_SEABIOS}" \ + "qemu-utils=${VERSION_QEMU}" \ + "qemu-efi-aarch64=${VERSION_EFI}" \ + "qemu-system-arm=${VERSION_QEMU}" +EOF # Installation du workload .NET Android RUN dotnet workload install android --skip-manifest-update -# AJOUT CRITIQUE : Fixer l'emplacement des AVD dans le SDK pour qu'il soit partagé et accessible peu importe l'utilisateur de la CI -ENV ANDROID_USER_HOME=${ANDROID_HOME}/.android # 4. Acceptation des licences et installation des composants RUN yes | sdkmanager --licenses \ diff --git a/README.md b/README.md index 2dff478..5c6ed93 100644 --- a/README.md +++ b/README.md @@ -35,5 +35,5 @@ Le `runner.labels` du runner doit pointer sur le bon tag pour que les jobs `runs-on: docker` le pull. Format : ```yaml -docker:docker://pazof/yavsc-build-env:debian12-dotnet10-android36-v +docker:docker://pazof/yavsc-build-env:debian13-dotnet10-android36-v ```