Dockerfile 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. FROM ubuntu:18.04
  2. RUN groupadd --gid 1000 builduser \
  3. && useradd --uid 1000 --gid builduser --shell /bin/bash --create-home builduser
  4. # Set up TEMP directory
  5. ENV TEMP=/tmp
  6. RUN chmod a+rwx /tmp
  7. # Install Linux packages
  8. ADD build/install-build-deps.sh /setup/install-build-deps.sh
  9. RUN echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | debconf-set-selections
  10. RUN dpkg --add-architecture i386
  11. RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
  12. curl \
  13. libnotify-bin \
  14. locales \
  15. lsb-release \
  16. nano \
  17. python-dbus \
  18. python-pip \
  19. python-setuptools \
  20. sudo \
  21. vim-nox \
  22. wget \
  23. g++-multilib \
  24. libgl1:i386 \
  25. && /setup/install-build-deps.sh --syms --no-prompt --no-chromeos-fonts --lib32 --arm \
  26. && rm -rf /var/lib/apt/lists/*
  27. # Install Node.js
  28. RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - \
  29. && DEBIAN_FRONTEND=noninteractive apt-get install -y nodejs \
  30. && rm -rf /var/lib/apt/lists/*
  31. # crcmod is required by gsutil, which is used for filling the gclient git cache
  32. RUN pip install -U crcmod
  33. # dbusmock is needed for Electron tests
  34. RUN pip install python-dbusmock
  35. RUN mkdir /tmp/workspace
  36. RUN chown builduser:builduser /tmp/workspace
  37. # Add xvfb init script
  38. ADD tools/xvfb-init.sh /etc/init.d/xvfb
  39. RUN chmod a+x /etc/init.d/xvfb
  40. USER builduser
  41. WORKDIR /home/builduser