Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
b1cc3914aThis file is pinned to the selected release. Download the original to open it in your design tool.
# Use Ubuntu 25.04 base
FROM ubuntu:25.04 AS build
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y \
git \
build-essential \
cmake \
pkg-config \
libusb-1.0-0-dev \
&& rm -rf /var/lib/apt/lists/*
RUN git clone https://github.com/vdudouyt/stm8flash.git \
&& cd stm8flash && make -j$(nproc)
FROM ubuntu:25.04 AS runtime
ENV DEBIAN_FRONTEND=noninteractive
# Install all dependencies in one layer
RUN apt-get update && apt-get install -y \
libusb-1.0-0 \
sdcc \
build-essential \
cmake \
git \
make \
pkg-config \
libusb-1.0-0-dev \
screen \
doxygen \
uncrustify \
python3-pip \
poppler-utils \
r-base-core \
python3-venv \
libcunit1-dev \
libcmocka-dev \
tree \
vim \
lcov \
gcovr \
clang \
clang-tidy \
gcc \
&& rm -rf /var/lib/apt/lists/*
COPY --from=build /stm8flash/stm8flash /usr/bin/
# Create virtual environment and install Python packages
RUN python3 -m venv /workspace/venv \
&& /workspace/venv/bin/pip install --upgrade pip \
&& /workspace/venv/bin/pip install \
flake8 \
flake8-html \
pyserial \
CodeChecker \
coverxygen \
prospector \
vjunit
# Install R packages
RUN R -e "install.packages(c('latticeExtra', 'gridExtra', 'Hmisc'), repos='http://cran.rstudio.com/')"
RUN R -e 'install.packages("lintr", repos="https://cloud.r-project.org")'
RUN R -e 'install.packages("styler")'
RUN python3 -m venv /workspace/venv \
&& /workspace/venv/bin/pip install --upgrade pip \
&& /workspace/venv/bin/pip install \
coverage pytest pytest-html black
#COPY Software/MeasurementAcquisition /workspace/MeasurementAcquisition
#WORKDIR /workspace/MeasurementAcquisition
#RUN python3 -m venv /workspace/venv \
# && /workspace/venv/bin/pip install --upgrade pip \
# && /workspace/venv/bin/pip install .
WORKDIR /workspace/build
CMD ["bash"]