FROM ocaml/opam:ubuntu-24.04-ocaml-5.4 USER root RUN apt-get update && \ apt-get install -y --no-install-recommends \ pkg-config libcurl4-openssl-dev libgmp-dev mccs && \ rm -rf /var/lib/apt/lists/* USER opam RUN opam update WORKDIR /home/opam/src COPY --chown=opam:opam opentelemetry.opam . COPY --chown=opam:opam opentelemetry-client.opam . COPY --chown=opam:opam opentelemetry-lwt.opam . COPY --chown=opam:opam opentelemetry-cohttp-lwt.opam . COPY --chown=opam:opam opentelemetry-client-ocurl.opam . COPY --chown=opam:opam opentelemetry-client-ocurl-lwt.opam . COPY --chown=opam:opam opentelemetry-client-cohttp-lwt.opam . COPY --chown=opam:opam opentelemetry-client-cohttp-eio.opam . COPY --chown=opam:opam opentelemetry-logs.opam . RUN --mount=type=cache,target=/home/opam/.opam/download-cache,uid=1000,gid=1000 \ opam pin add -n opentelemetry . && \ opam pin add -n opentelemetry-client . && \ opam pin add -n opentelemetry-lwt . && \ opam pin add -n opentelemetry-cohttp-lwt . && \ opam pin add -n opentelemetry-client-ocurl . && \ opam pin add -n opentelemetry-client-ocurl-lwt . && \ opam pin add -n opentelemetry-client-cohttp-lwt . && \ opam pin add -n opentelemetry-client-cohttp-eio . && \ opam pin add -n opentelemetry-logs . && \ opam install . --deps-only --with-test -y && \ opam install trace ocaml-protoc lwt.6.1.1 odig -y && \ opam clean -a -y