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