@@ -24,6 +24,8 @@ ENV DEBIAN_FRONTEND=noninteractive \
2424ARG MEMFAULT_SDK_APT_DEPS="\
2525 build-essential \
2626 cpputest \
27+ gcc-12 \
28+ g++-12 \
2729 git \
2830 python3.10 \
2931 python3.10-venv\
@@ -32,7 +34,7 @@ ARG MEMFAULT_SDK_APT_DEPS="\
3234# Run commands and tests as circleci user
3335RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci && \
3436 echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90circleci && \
35- apt-get update && apt-get install -y \
37+ apt-get update && apt-get install -y --no-install-recommends \
3638 locales \
3739 sudo \
3840 wget \
@@ -47,11 +49,33 @@ RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90circleci && \
4749 sudo -u circleci mkdir /home/circleci/project && \
4850 sudo -u circleci mkdir /home/circleci/bin
4951
52+ # Select gcc-12 as the default gcc/g++ version
53+ RUN sudo update-alternatives --install \
54+ /usr/bin/gcc gcc /usr/bin/gcc-12 60 \
55+ --slave /usr/bin/g++ g++ /usr/bin/g++-12 \
56+ --slave /usr/bin/gcov gcov /usr/bin/gcov-12
57+
5058ENV PATH=/home/circleci/bin:/home/circleci/.local/bin:$PATH \
5159 LANG=en_US.UTF-8 \
5260 LANGUAGE=en_US:en \
5361 LC_ALL=en_US.UTF-8
5462
63+ # Install lcov and add to PATH
64+ ARG LCOV_VERSION=1.16
65+ ARG LCOV_SHA256SUM=987031ad5528c8a746d4b52b380bc1bffe412de1f2b9c2ba5224995668e3240b
66+ RUN \
67+ cd /tmp && \
68+ wget https://github.com/linux-test-project/lcov/releases/download/v${LCOV_VERSION}/lcov-${LCOV_VERSION}.tar.gz -O lcov.tar.gz && \
69+ echo "${LCOV_SHA256SUM} lcov.tar.gz" | shasum --algorithm=256 --check && \
70+ tar zvxf lcov.tar.gz && \
71+ cd lcov-${LCOV_VERSION} && sudo make install && \
72+ cd .. && \
73+ rm -rf ./lcov* && \
74+ lcov --version && \
75+ genhtml --version
76+
77+ ENV PATH=/home/circleci/lcov-${LCOV_VERSION}/bin:$PATH
78+
5579USER circleci
5680
5781# Match the default CircleCI working directory
@@ -60,18 +84,6 @@ WORKDIR /home/circleci/project
6084# Create the virtualenv
6185RUN python3 -m venv ~/venv
6286
63- # Install lcov and add to PATH
64- ARG LCOV_VERSION=1.14
65- ARG LCOV_SHA256SUM=14995699187440e0ae4da57fe3a64adc0a3c5cf14feab971f8db38fb7d8f071a
66- RUN \
67- cd ~ && \
68- wget https://github.com/linux-test-project/lcov/releases/download/v${LCOV_VERSION}/lcov-${LCOV_VERSION}.tar.gz -O ~/lcov.tar.gz && \
69- echo "${LCOV_SHA256SUM} ${HOME}/lcov.tar.gz" | shasum --algorithm=256 --check && \
70- cd ~ && tar zvxf ~/lcov.tar.gz && \
71- rm ~/lcov.tar.gz
72-
73- ENV PATH=/home/circleci/lcov-${LCOV_VERSION}/bin:$PATH
74-
7587# Auto-activate the virtualenv in the container
7688RUN sudo mkdir -p /circleci/ && \
7789 sudo bash -c "echo 'source ~/venv/bin/activate' >> /circleci/.bashrc_circleci" && \
0 commit comments