blob: 654cf78935f2d3e2edaa5e4c3c24cb87d57edfc0 [file] [log] [blame]
# Use a prebuilt Python image instead of base Ubuntu to speed up the build process,
# since it has all the build dependencies we need for Micro and downloads much faster
# than the install process.
FROM python:3.9.0-buster
RUN echo deb http://apt.llvm.org/buster/ llvm-toolchain-buster-12 main > /etc/apt/sources.list.d/llvm.list
RUN wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
RUN apt-get update
RUN apt-get install -y zip xxd sudo
RUN apt-get install -y clang-12 clang-format-12
# Set clang-12 and clang-format-12 as the default to ensure that the pigweed
# formatting scripts use the desired version.
RUN ln -s /usr/bin/clang-12 /usr/bin/clang
RUN ln -s /usr/bin/clang++-12 /usr/bin/clang++
RUN ln -s /usr/bin/clang-format-12 /usr/bin/clang-format
RUN pip install six
# Install Renode test dependencies
RUN pip install pyyaml requests psutil robotframework==3.1
# Install bazel and buildifier so that the bazel presubmit checks can be run
# from the micro docker container and are consistent with the rest of the CI.
COPY ci/*.sh /install/
RUN /install/install_bazel.sh
RUN /install/install_buildifier.sh
COPY . /opt/tflm/
WORKDIR /opt/tflm
CMD ["/opt/tflm/tensorflow/lite/micro/tools/ci_build/test_all.sh", "GITHUB_PRESUBMIT"]