# 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 # # 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 # Install yapf to check for Python formatting as part of the TFLM continuous # integration. RUN pip install yapf 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