forked from mirrors/gecko-dev
Bug 1824856 - import docker image definitions from firefox-android. r=hneiva,releng-reviewers,jmaher,owlish,geckoview-reviewers,nalexander
This switches the android-components docker image to a debian 12 base,
although it could maybe stay on ubuntu 22.04 instead.
Since commit
ac9107b988,
application-services builds using an ubuntu 22.04 image, and android-components
consumes the nimbus-fml binary built from that, so running on debian 11 fails
due to an older libc.
Because pip in debian 12 refuses to work outside a virtualenv, pass
`--break-system-packages` to silence the error.
Differential Revision: https://phabricator.services.mozilla.com/D201418
This commit is contained in:
parent
1f383843fb
commit
5c63c397b6
5 changed files with 64 additions and 105 deletions
|
|
@ -1,35 +0,0 @@
|
|||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
ARG DOCKER_IMAGE_PARENT
|
||||
FROM $DOCKER_IMAGE_PARENT
|
||||
|
||||
VOLUME /builds/worker/checkouts
|
||||
|
||||
# Install Java 8 needed for Nexus
|
||||
RUN apt-get update -qq \
|
||||
&& apt-get install -y openjdk-8-jdk \
|
||||
&& apt-get clean
|
||||
|
||||
# Install Sonatype Nexus. Cribbed directly from
|
||||
# https://github.com/sonatype/docker-nexus/blob/0415e54b6c824d510f883e5a75c4008b936eca62/oss/Dockerfile.
|
||||
|
||||
ENV NEXUS_ARCHIVE='nexus-bundle.tar.gz' \
|
||||
NEXUS_ROOT='/opt/sonatype/nexus' \
|
||||
NEXUS_SHA1SUM=0fcb4f002eec0cbad6b421b90a8fe99959d78e93 \
|
||||
NEXUS_VERSION=2.15.1-02 \
|
||||
NEXUS_WORK=/builds/worker/workspace/nexus
|
||||
|
||||
RUN mkdir -p "$NEXUS_ROOT" \
|
||||
&& chown -R worker:worker "$NEXUS_ROOT"
|
||||
|
||||
USER worker:worker
|
||||
|
||||
RUN $CURL --output "$NEXUS_ARCHIVE" "https://download.sonatype.com/nexus/oss/nexus-${NEXUS_VERSION}-bundle.tar.gz" \
|
||||
&& echo "$NEXUS_SHA1SUM $NEXUS_ARCHIVE" | sha1sum --check \
|
||||
&& tar xzvf "$NEXUS_ARCHIVE" --strip-components=1 --directory="$NEXUS_ROOT" \
|
||||
&& rm "$NEXUS_ARCHIVE"
|
||||
|
||||
# run-task expects to run as root
|
||||
USER root
|
||||
|
|
@ -1,65 +0,0 @@
|
|||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
FROM ubuntu:22.04
|
||||
|
||||
# Add worker user
|
||||
RUN mkdir /builds && \
|
||||
useradd -d /builds/worker -s /bin/bash -m worker && \
|
||||
chown worker:worker /builds/worker && \
|
||||
mkdir /builds/worker/artifacts && \
|
||||
chown worker:worker /builds/worker/artifacts
|
||||
|
||||
WORKDIR /builds/worker/
|
||||
|
||||
#----------------------------------------------------------------------------------------------------------------------
|
||||
#-- Configuration -----------------------------------------------------------------------------------------------------
|
||||
#----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
ENV CURL='curl --location --retry 5' \
|
||||
GRADLE_OPTS='-Xmx4096m -Dorg.gradle.daemon=false -Dorg.gradle.parallel=false' \
|
||||
LANG='en_US.UTF-8' \
|
||||
TERM='dumb'
|
||||
|
||||
#----------------------------------------------------------------------------------------------------------------------
|
||||
#-- System ------------------------------------------------------------------------------------------------------------
|
||||
#----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
RUN apt-get update -qq \
|
||||
# We need to install tzdata before all of the other packages. Otherwise it will show an interactive dialog
|
||||
# which we cannot navigate while building the Docker image.
|
||||
&& apt-get install -y tzdata \
|
||||
&& apt-get install -y openjdk-17-jdk \
|
||||
wget \
|
||||
expect \
|
||||
git \
|
||||
curl \
|
||||
python3 \
|
||||
python3-pip \
|
||||
python3-yaml \
|
||||
libgit2-dev \
|
||||
locales \
|
||||
unzip \
|
||||
mercurial \
|
||||
&& apt-get clean
|
||||
|
||||
RUN pip3 install --upgrade pip
|
||||
RUN pip3 install taskcluster
|
||||
|
||||
RUN locale-gen "$LANG"
|
||||
|
||||
|
||||
# %include-run-task
|
||||
|
||||
ENV SHELL=/bin/bash \
|
||||
HOME=/builds/worker \
|
||||
PATH=/builds/worker/.local/bin:$PATH
|
||||
|
||||
|
||||
VOLUME /builds/worker/checkouts
|
||||
VOLUME /builds/worker/.cache
|
||||
|
||||
|
||||
# run-task expects to run as root
|
||||
USER root
|
||||
|
|
@ -245,3 +245,9 @@ jobs:
|
|||
args:
|
||||
SNAP_BASE: core22
|
||||
SNAP_LIST: "gnome-42-2204 gtk-common-themes gnome-42-2204-sdk"
|
||||
android-components:
|
||||
symbol: I(android-components)
|
||||
parent: debian12-base
|
||||
android-ui-tests:
|
||||
symbol: I(android-ui-tests)
|
||||
parent: android-components
|
||||
|
|
|
|||
55
taskcluster/docker/android-components/Dockerfile
Normal file
55
taskcluster/docker/android-components/Dockerfile
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
FROM $DOCKER_IMAGE_PARENT
|
||||
MAINTAINER Geoff Brown <gbrown@mozilla.com>
|
||||
|
||||
VOLUME /builds/worker/checkouts
|
||||
VOLUME /builds/worker/workspace
|
||||
VOLUME /builds/worker/tooltool-cache
|
||||
|
||||
ENV CURL='curl --location --retry 5' \
|
||||
GRADLE_OPTS='-Xmx4096m -Dorg.gradle.daemon=false -Dorg.gradle.parallel=false' \
|
||||
LANG='en_US.UTF-8' \
|
||||
TERM='dumb'
|
||||
|
||||
# rsync is required for l10n single locale repacks. less, screen, and
|
||||
# vim, help debugging interactive tasks in Task Cluster.
|
||||
# git and openssh-client are used to upload GeckoView javadoc to Github.
|
||||
# yaml required by some ui-test tasks
|
||||
RUN apt-get update && \
|
||||
apt-get install \
|
||||
autoconf2.13 \
|
||||
build-essential \
|
||||
base-files \
|
||||
ccache \
|
||||
cmake \
|
||||
curl \
|
||||
file \
|
||||
gnupg \
|
||||
jq \
|
||||
less \
|
||||
locales \
|
||||
openjdk-17-jdk \
|
||||
openssh-client \
|
||||
procps \
|
||||
python3-dev \
|
||||
python3-pip \
|
||||
python3-yaml \
|
||||
rsync \
|
||||
screen \
|
||||
sudo \
|
||||
tar \
|
||||
unzip \
|
||||
uuid \
|
||||
valgrind \
|
||||
vim \
|
||||
x11-utils \
|
||||
xvfb \
|
||||
wget \
|
||||
zip \
|
||||
zstd
|
||||
|
||||
RUN pip3 install --break-system-packages taskcluster
|
||||
|
||||
RUN locale-gen "$LANG"
|
||||
|
||||
# Back to the workdir, matching desktop-build.
|
||||
WORKDIR /builds/worker
|
||||
|
|
@ -8,8 +8,7 @@ LABEL maintainer="Richard Pappalardo <rpappalax@gmail.com>"
|
|||
#-- Test tools --------------------------------------------------------------------------------------------------------
|
||||
#----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
RUN apt-get install -y jq \
|
||||
&& apt-get clean
|
||||
RUN chown -R worker:worker ${HOME}/.config
|
||||
|
||||
USER worker:worker
|
||||
|
||||
|
|
@ -34,11 +33,10 @@ RUN URL_FLANK_BIN="$($CURL --silent 'https://api.github.com/repos/Flank/flank/re
|
|||
&& chmod +x "${TEST_TOOLS}/flank.jar"
|
||||
|
||||
# Used in parse-ui-test-fromfile.py
|
||||
RUN pip3 install junitparser
|
||||
RUN pip3 install beautifultable
|
||||
RUN pip3 install --break-system-packages junitparser beautifultable
|
||||
|
||||
# Used for env var ingest in testrail.py
|
||||
RUN pip3 install python-dotenv
|
||||
RUN pip3 install --break-system-packages python-dotenv
|
||||
|
||||
# run-task expects to run as root
|
||||
USER root
|
||||
Loading…
Reference in a new issue