FROM ubuntu:16.04
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								ENV PYTHONUNBUFFERED 1
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								RUN apt-get update && apt-get install -y \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    autoconf \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    build-essential \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    bzip2 \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    clang \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    cmake \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    curl \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    ffmpeg \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    git \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    libarchive-dev \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    libbz2-dev \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    libcurl4-openssl-dev \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    libeigen3-dev \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    libffi-dev \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    libglew-dev \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    libgles2-mesa-dev \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    libglfw3-dev \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    libglib2.0-0 \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    liblzma-dev \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    libmysqlclient-dev \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    libomp-dev \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    libopencv-dev \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    libssl-dev \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    libsqlite3-dev \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    libtool \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    libusb-1.0-0-dev \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    libzmq5-dev \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    locales \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    ocl-icd-libopencl1 \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    ocl-icd-opencl-dev \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    opencl-headers \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    python-dev \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    python-pip \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    screen \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    sudo \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    vim \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    wget
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && locale-gen
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								ENV LANG en_US.UTF-8
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								ENV LANGUAGE en_US:en
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								ENV LC_ALL en_US.UTF-8
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								RUN curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								ENV PATH="/root/.pyenv/bin:/root/.pyenv/shims:${PATH}"
 
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								RUN pyenv install 3.8.2
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								RUN pyenv global 3.8.2
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								RUN pyenv rehash
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								RUN pip install pipenv==2018.11.26
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								COPY Pipfile /tmp/
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								COPY Pipfile.lock /tmp/
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								RUN python --version
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								RUN cd /tmp && pipenv install --system --deploy
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# Install subset of dev dependencies needed for CI
 
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								RUN pip install matplotlib==3.1.1 dictdiffer==0.8.0 fastcluster==1.1.25 aenum==2.2.1 lru-dict==1.1.6 scipy==1.4.1 tenacity==5.1.1 azure-common==1.1.23 azure-nspkg==3.0.2 azure-storage-blob==2.1.0 azure-storage-common==2.1.0 azure-storage-nspkg==3.1.0 pycurl==7.43.0.3 coverage==5.1
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								ENV PATH="/tmp/openpilot/external/bin:${PATH}"
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								ENV PYTHONPATH /tmp/openpilot:${PYTHONPATH}
 
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								RUN mkdir -p /tmp/openpilot
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								COPY ./flake8_openpilot.sh /tmp/openpilot/
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								COPY ./pylint_openpilot.sh /tmp/openpilot/
 
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								COPY ./.pylintrc /tmp/openpilot/
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								COPY ./.coveragerc-app /tmp/openpilot/
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								COPY ./pyextra /tmp/openpilot/pyextra
 
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								COPY ./phonelibs /tmp/openpilot/phonelibs
 
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								COPY ./external /tmp/openpilot/external
 
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								COPY ./laika /tmp/openpilot/laika
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								COPY ./laika_repo /tmp/openpilot/laika_repo
 
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								COPY ./tools /tmp/openpilot/tools
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								COPY ./release /tmp/openpilot/release
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								COPY ./common /tmp/openpilot/common
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								COPY ./opendbc /tmp/openpilot/opendbc
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								COPY ./cereal /tmp/openpilot/cereal
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								COPY ./panda /tmp/openpilot/panda
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								COPY ./selfdrive /tmp/openpilot/selfdrive
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								COPY SConstruct /tmp/openpilot/SConstruct
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								RUN mkdir -p /tmp/openpilot/selfdrive/test/out
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								RUN cd /tmp/openpilot && scons -j$(nproc)