Dockerfile.micro 1.3 KB
Newer Older
1 2 3 4 5 6 7 8 9 10
# This docker container can be used to run all the TFLM CI checks.
#
# It is only used as part of the GitHub workflows to test for code-style. But
# the container is available and ready for use to run all the checks locally,
# in case that is useful for debugging.
#
# docker build -f ci/Dockerfile.micro -t ghcr.io/tflm-bot/tflm-ci:latest .
#    or
# docker pull ghcr.io/tflm-bot/tflm-ci:latest
#
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
# 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

COPY ci/*.sh /install/
RUN /install/install_bazel.sh
RUN /install/install_buildifier.sh