dockerfile.gnu 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. # Due to bandwidth limitation, we need to keep the base image into our
  2. # Artifactory Docker Registry. Because we have more than one registry,
  3. # we need to set during build time which Artifactory Docker Registry to use.
  4. ARG DOCKER_REGISTRY
  5. FROM ${DOCKER_REGISTRY}/ubuntu:focal
  6. # install packages from official Ubuntu repo
  7. ENV DEBIAN_FRONTEND=noninteractive
  8. RUN apt-get update && \
  9. apt-get install --no-install-recommends -y \
  10. bc \
  11. build-essential \
  12. curl \
  13. dos2unix \
  14. git \
  15. lib32stdc++6 \
  16. mscgen \
  17. p7zip-full \
  18. python3 \
  19. python3-pip \
  20. tar \
  21. unzip \
  22. wget \
  23. libxml2-utils \
  24. zip && \
  25. apt-get autoremove -y && \
  26. apt-get autoclean -y && \
  27. rm -rf /var/lib/apt/lists/*
  28. # Create build ARGs for installer files & versions
  29. ARG GCC=gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
  30. # Including dependency folder
  31. ARG DEPENDENCIESFOLDER=dependenciesFiles
  32. ARG TOOLS_PATH=/opt
  33. ARG INSTALLER_PATH=/tmp/dependenciesFiles
  34. RUN mkdir -p ${INSTALLER_PATH}
  35. COPY dependenciesFiles/${GCC} ${INSTALLER_PATH}/${GCC}
  36. COPY dependenciesFiles/buildtools ${TOOLS_PATH}/buildtools
  37. COPY dependenciesFiles/python-matrix-runner ${INSTALLER_PATH}/python-matrix-runner
  38. # install & setup gcc
  39. RUN mkdir -p ${TOOLS_PATH}
  40. WORKDIR ${TOOLS_PATH}
  41. RUN tar -xvf ${INSTALLER_PATH}/${GCC}
  42. ENV PATH=${PATH}:${TOOLS_PATH}/gcc-arm-none-eabi-10-2020-q4-major/bin
  43. ENV CI_GCC_TOOLCHAIN_ROOT=${TOOLS_PATH}/gcc-arm-none-eabi-10-2020-q4-major/bin
  44. WORKDIR /
  45. # install Python requirements
  46. COPY requirements.txt ${INSTALLER_PATH}/
  47. RUN python3 -m pip install --no-cache-dir -r ${INSTALLER_PATH}/requirements.txt
  48. # install buildtools
  49. RUN python3 -m pip install --no-cache-dir -r ${TOOLS_PATH}/buildtools/requirements.txt
  50. COPY rtebuild /root/.rtebuild
  51. ENV PATH=${PATH}:${TOOLS_PATH}/buildtools
  52. # install python-matrix-runner
  53. # hadolint disable=DL3013
  54. RUN python3 -m pip install ${INSTALLER_PATH}/python-matrix-runner
  55. # remove dependency folder
  56. RUN rm -rf ${INSTALLER_PATH}
  57. CMD ["bash"]