# vim: ft=dockerfile
FROM ubuntu:24.04
LABEL org.opencontainers.image.authors="Oleg Morozenkov <m@oleg.rocks>"

RUN apt-get -qq update && \
    apt-get -qq install -y \
        build-essential \
        cmake \
        python3 \
        python3-pip \
        python3-venv && \
    rm -rf /var/lib/apt/lists/*

ENV CONAN_BUILD_ARGS="--build=missing:gtest/*"

RUN python3 -m venv /opt/conan && \
    /opt/conan/bin/pip install --no-cache-dir \
        "clang-format==22.1.8" \
        "conan==2.31.1" \
        "poetry==2.4.1"
ENV PATH="/opt/conan/bin:${PATH}"

WORKDIR /usr/src/tgbot-cpp

COPY conanfile.py Makefile poetry.lock pyproject.toml ./

RUN make dependencies-with-test

COPY include include
COPY src src
COPY tests tests
COPY examples examples
COPY api api
COPY api_codegen api_codegen
COPY cmake cmake
COPY .clang-format ./
COPY CMakeLists.txt ./

RUN make build-with-test && \
    make install-only

RUN make examples

CMD ["make", "test-only", "test-api-codegen"]
