build-images/Dockerfile.arm64v8

74 строки
1.7 KiB
Docker

FROM debian:stretch AS qemu-src
RUN apt-get update && apt-get install -y qemu-user-static
FROM arm64v8/ubuntu:18.04
COPY --from=qemu-src /usr/bin/qemu-aarch64-static /usr/bin/qemu-aarch64-static
# Set up TEMP directory
ENV TEMP=/tmp
RUN chmod a+rwx /tmp
RUN dpkg --add-architecture armhf
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
bison \
build-essential \
clang \
curl \
gperf \
git \
libasound2 \
libasound2-dev \
libc6:armhf \
libcap-dev \
libcups2-dev \
libdbus-1-dev \
libgnome-keyring-dev \
libgtk2.0-0 \
libgtk2.0-dev \
libgtk-3-0 \
libgtk-3-dev \
libnotify-bin \
libnss3 \
libnss3-dev \
libstdc++6:armhf \
libxss1 \
libxtst-dev \
libxtst6 \
lsb-release \
locales \
nano \
python-setuptools \
python-pip \
python3-pip \
sudo \
unzip \
wget \
xvfb \
&& rm -rf /var/lib/apt/lists/*
# Install Node.js
RUN curl -sL https://deb.nodesource.com/setup_14.x | bash - \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends nodejs \
&& rm -rf /var/lib/apt/lists/* \
&& npm i -g npm@latest
# crcmod is required by gsutil, which is used for filling the gclient git cache
RUN pip install -U crcmod
# TODO: We can remove this step once transition to using python3 to run Electron tests is complete.
RUN pip install python-dbusmock==0.20.0
# dbusmock is needed for Electron tests
RUN pip3 install python-dbusmock==0.20.0
ADD tools/xvfb-init.sh /etc/init.d/xvfb
RUN chmod a+x /etc/init.d/xvfb
# Steps needed for CircleCI runner
RUN adduser --uid 1500 --disabled-password --gecos GECOS circleci
RUN mkdir -p /opt/circleci/workdir
RUN chown -R circleci /opt/circleci/workdir
ADD linux/arm64/circleci-launch-agent /opt/circleci