2017-07-28 01:24:39 -07:00
|
|
|
FROM ubuntu:16.04
|
2016-12-12 17:47:46 -08:00
|
|
|
ENV PYTHONUNBUFFERED 1
|
|
|
|
|
|
2019-01-23 15:34:52 -08:00
|
|
|
RUN apt-get update && apt-get install -y \
|
2019-05-16 13:20:29 -07:00
|
|
|
autoconf \
|
2019-01-23 15:34:52 -08:00
|
|
|
build-essential \
|
|
|
|
|
bzip2 \
|
2019-06-28 21:11:30 +00:00
|
|
|
clang \
|
2019-10-09 18:43:53 +00:00
|
|
|
cmake \
|
|
|
|
|
curl \
|
|
|
|
|
ffmpeg \
|
2019-01-23 15:34:52 -08:00
|
|
|
git \
|
2019-06-28 21:11:30 +00:00
|
|
|
libarchive-dev \
|
2019-10-09 18:43:53 +00:00
|
|
|
libbz2-dev \
|
|
|
|
|
libcurl4-openssl-dev \
|
|
|
|
|
libeigen3-dev \
|
2019-06-28 21:11:30 +00:00
|
|
|
libffi-dev \
|
2019-10-09 18:43:53 +00:00
|
|
|
libglew-dev \
|
2019-01-23 15:34:52 -08:00
|
|
|
libglib2.0-0 \
|
2019-10-09 18:43:53 +00:00
|
|
|
liblzma-dev \
|
|
|
|
|
libmysqlclient-dev \
|
|
|
|
|
libomp-dev \
|
|
|
|
|
libopencv-dev \
|
2019-06-28 21:11:30 +00:00
|
|
|
libssl-dev \
|
2019-05-16 13:20:29 -07:00
|
|
|
libtool \
|
2019-01-23 15:34:52 -08:00
|
|
|
libusb-1.0-0 \
|
2019-06-28 21:11:30 +00:00
|
|
|
libzmq5-dev \
|
2019-10-09 18:43:53 +00:00
|
|
|
locales \
|
2019-01-23 15:34:52 -08:00
|
|
|
ocl-icd-libopencl1 \
|
|
|
|
|
ocl-icd-opencl-dev \
|
2019-06-28 21:11:30 +00:00
|
|
|
opencl-headers \
|
2019-10-09 18:43:53 +00:00
|
|
|
python-dev \
|
2019-06-28 21:11:30 +00:00
|
|
|
python-pip \
|
2019-10-09 18:43:53 +00:00
|
|
|
screen \
|
|
|
|
|
sudo \
|
|
|
|
|
vim \
|
2019-06-28 21:11:30 +00:00
|
|
|
wget
|
2019-01-23 15:34:52 -08:00
|
|
|
|
2019-05-16 13:20:29 -07:00
|
|
|
|
2019-10-09 18:43:53 +00:00
|
|
|
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.7.3
|
|
|
|
|
RUN pyenv global 3.7.3
|
|
|
|
|
RUN pyenv rehash
|
|
|
|
|
|
2019-06-28 21:11:30 +00:00
|
|
|
RUN pip install pipenv==2018.11.26
|
2016-12-12 17:47:46 -08:00
|
|
|
|
2019-06-28 21:11:30 +00:00
|
|
|
COPY Pipfile /tmp/
|
|
|
|
|
COPY Pipfile.lock /tmp/
|
2016-12-12 17:47:46 -08:00
|
|
|
|
2019-10-09 18:43:53 +00:00
|
|
|
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 scipy==1.3.1 lru-dict==1.1.6 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
|
|
|
|
|
|
|
|
|
|
COPY phonelibs/install_capnp.sh /tmp/install_capnp.sh
|
|
|
|
|
RUN /tmp/install_capnp.sh
|
2016-12-12 17:47:46 -08:00
|
|
|
|
2019-10-09 18:43:53 +00:00
|
|
|
RUN git clone --branch v0.6.5 https://github.com/commaai/openpilot-tools.git /tmp/openpilot/tools
|
2019-06-28 21:11:30 +00:00
|
|
|
|
2019-10-09 18:43:53 +00:00
|
|
|
ENV PYTHONPATH /tmp/openpilot:${PYTHONPATH}
|
2019-04-12 23:12:34 -07:00
|
|
|
COPY ./.pylintrc /tmp/openpilot/.pylintrc
|
2017-09-30 03:07:27 -07:00
|
|
|
COPY ./common /tmp/openpilot/common
|
|
|
|
|
COPY ./cereal /tmp/openpilot/cereal
|
|
|
|
|
COPY ./opendbc /tmp/openpilot/opendbc
|
|
|
|
|
COPY ./selfdrive /tmp/openpilot/selfdrive
|
|
|
|
|
COPY ./phonelibs /tmp/openpilot/phonelibs
|
|
|
|
|
COPY ./pyextra /tmp/openpilot/pyextra
|
2019-04-12 23:12:34 -07:00
|
|
|
COPY ./panda /tmp/openpilot/panda
|
2017-09-30 03:07:27 -07:00
|
|
|
|
2017-10-31 02:27:39 -07:00
|
|
|
RUN mkdir -p /tmp/openpilot/selfdrive/test/out
|
2018-09-25 00:13:41 -07:00
|
|
|
RUN make -C /tmp/openpilot/selfdrive/controls/lib/longitudinal_mpc clean
|
|
|
|
|
RUN make -C /tmp/openpilot/selfdrive/controls/lib/lateral_mpc clean
|