Update Android base image to 2023-12-05. (#35526)

Also tells Docker to invalidate caches so that our apt-get update attempt actually does something.
This commit is contained in:
Billy O'Neal 2023-12-06 12:17:01 -08:00 committed by GitHub
parent b051745c68
commit 24d884e1b8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 242 additions and 230 deletions

View File

@ -1,55 +1,65 @@
# syntax=docker/dockerfile:1.4
FROM ubuntu:20.04 FROM ubuntu:20.04
ENV DEBIAN_FRONTEND noninteractive
RUN \ ADD https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb /packages-microsoft-prod.deb
apt-get update && \ ADD https://dl.google.com/android/repository/android-ndk-r25c-linux.zip /android-ndk-r25c-linux.zip
apt-get -y upgrade && \
apt-get -y --no-install-recommends install git g++ wget curl zip vim \
pkg-config tar cmake unzip ca-certificates
# Download Android NDK # Add apt packages
RUN \
wget https://dl.google.com/android/repository/android-ndk-r25c-linux.zip && \
unzip android-ndk-r25c-linux.zip && \
rm -rf android-ndk-r25c-linux.zip
ENV ANDROID_NDK_HOME /android-ndk-r25c ## vcpkg prerequisites
ENV APT_PACKAGES="git curl zip unzip tar"
# Download Powershell ## Common build prereqs
RUN \ ENV APT_PACKAGES="$APT_PACKAGES g++ vim pkg-config cmake ca-certificates"
wget -q https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb && \
dpkg -i packages-microsoft-prod.deb && \
rm -f packages-microsoft-prod.deb && \
apt-get -y install software-properties-common && \
apt-get update && \
add-apt-repository universe && \
apt-get -y install powershell
RUN \ ENV APT_PACKAGES="$APT_PACKAGES autoconf nasm bison python2 flex build-essential libtool libtool-bin gettext automake autoconf-archive"
apt-get -y --no-install-recommends install autoconf nasm bison python2 \
flex build-essential libtool libtool-bin gettext automake autoconf-archive
# python related ## Python related
RUN \ ENV APT_PACKAGES="$APT_PACKAGES python3-setuptools python3-pip python3-venv"
apt-get -y --no-install-recommends install python3-setuptools python3-pip python3-venv
# freeglut ## freeglut
RUN \ ENV APT_PACKAGES="$APT_PACKAGES libxi-dev libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev libxrandr-dev libxxf86vm-dev"
apt-get -y --no-install-recommends install libxi-dev libgl1-mesa-dev \
libglu1-mesa-dev mesa-common-dev libxrandr-dev libxxf86vm-dev
# glfw3 # glfw3
RUN \ ENV APT_PACKAGES="$APT_PACKAGES libxinerama-dev libxcursor-dev"
apt-get -y --no-install-recommends install libxinerama-dev libxcursor-dev
# required by qt5-base # qt5-base
RUN \ ENV APT_PACKAGES="$APT_PACKAGES libxext-dev libxfixes-dev libxrender-dev \
apt-get -y --no-install-recommends install libxext-dev libxfixes-dev libxrender-dev \
libxcb1-dev libx11-xcb-dev libxcb-glx0-dev libxcb-util0-dev \ libxcb1-dev libx11-xcb-dev libxcb-glx0-dev libxcb-util0-dev \
libxkbcommon-dev libxcb-keysyms1-dev \ libxkbcommon-dev libxcb-keysyms1-dev \
libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev \ libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev \
libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev \ libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev \
libxcb-render-util0-dev libxcb-xinerama0-dev libxcb-xkb-dev libxcb-xinput-dev \ libxcb-render-util0-dev libxcb-xinerama0-dev libxcb-xkb-dev libxcb-xinput-dev \
libxcb-cursor-dev libxkbcommon-x11-dev libxcb-cursor-dev libxkbcommon-x11-dev"
## PowerShell
ENV APT_PACKAGES="$APT_PACKAGES powershell"
RUN <<END_OF_SCRIPT bash
export DEBIAN_FRONTEND=noninteractive
# Apt prereqs itself
apt-get -y update
apt-get -y --no-install-recommends install ca-certificates
# Add apt repos
## PowerShell
dpkg -i packages-microsoft-prod.deb
rm -f packages-microsoft-prod.deb
add-apt-repository universe
# Run apt things
apt-get -y update
apt-get -y dist-upgrade
apt-get -y --no-install-recommends install $APT_PACKAGES
# Android NDK
unzip /android-ndk-r25c-linux.zip
rm -f android-ndk-r25c-linux.zip
END_OF_SCRIPT
ENV ANDROID_NDK_HOME /android-ndk-r25c
WORKDIR /vcpkg WORKDIR /vcpkg

View File

@ -18,6 +18,8 @@ Connect-AzContainerRegistry -Name $registry.Name
$imageName = "vcpkg-android" $imageName = "vcpkg-android"
Push-Location $PSScriptRoot Push-Location $PSScriptRoot
try { try {
docker builder prune -f --filter "until=24h"
docker build . -t $imageName docker build . -t $imageName
$remote = [string]::Format('andcontainerregistry.azurecr.io/{0}:{1}', $imageName, $Date) $remote = [string]::Format('andcontainerregistry.azurecr.io/{0}:{1}', $imageName, $Date)

View File

@ -6,7 +6,7 @@ variables:
linux-pool: 'PrLin-1ES-Pool' linux-pool: 'PrLin-1ES-Pool'
windows-pool: 'PrWin-2023-10-11' windows-pool: 'PrWin-2023-10-11'
osx-pool: 'PrOsx-2023-09-11' osx-pool: 'PrOsx-2023-09-11'
linux-docker-image: 'andcontainerregistry.azurecr.io/vcpkg-android:2023-10-11' linux-docker-image: 'andcontainerregistry.azurecr.io/vcpkg-android:2023-12-05'
parameters: parameters:
- name: vcpkgToolSha - name: vcpkgToolSha