74 строки
1.7 KiB
Docker
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
|