This commit is contained in:
Paul Schneider 2026-08-26 16:40:45 +01:00
commit 5953a5d9f0
No known key found for this signature in database
GPG key ID: 1E66C65EE2B46F1B
2 changed files with 55 additions and 5 deletions

View file

@ -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 <<EOF
# Install QEMU 11 and AArch64 UEFI firmware from Debian Sid
echo "deb [check-valid-until=no] https://snapshot.debian.org/archive/debian/${DEBIAN_SNAPSHOT}/ sid main" \
> /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 \

View file

@ -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<N>
docker:docker://pazof/yavsc-build-env:debian13-dotnet10-android36-v<N>
```