| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- # Copyright The OpenTelemetry Authors
- # SPDX-License-Identifier: Apache-2.0
- FROM otel/cpp_format_tools
- ARG USER_UID=1000
- ARG USER_GID=1000
- ARG INSTALL_PACKAGES=
- ARG CXX_STANDARD=17
- ARG CMAKE_VERSION=3.31.6
- ARG ABSEIL_CPP_VERSION=20230125.3
- ARG PROTOBUF_VERSION=23.3
- ARG GRPC_VERSION=v1.55.0
- ENV CXX_STANDARD=${CXX_STANDARD}
- ENV CMAKE_VERSION=${CMAKE_VERSION}
- ENV ABSEIL_CPP_VERSION=${ABSEIL_CPP_VERSION}
- ENV PROTOBUF_VERSION=${PROTOBUF_VERSION}
- ENV GRPC_VERSION=${GRPC_VERSION}
- COPY ci /opt/ci
- RUN apt update && apt install -y wget \
- ninja-build \
- libcurl4-openssl-dev \
- clang-tidy \
- shellcheck
- RUN cd /opt/ci && bash setup_cmake.sh
- RUN cd /opt/ci && bash setup_ci_environment.sh
- RUN cd /opt && bash ci/setup_googletest.sh \
- && bash ci/install_abseil.sh \
- && bash ci/install_protobuf.sh \
- && bash ci/setup_grpc.sh -r $GRPC_VERSION -s $CXX_STANDARD -p protobuf -p abseil-cpp
- ADD https://github.com/bazelbuild/bazelisk/releases/download/v1.22.1/bazelisk-linux-amd64 /usr/local/bin
-
- RUN git config --global core.autocrlf input \
- && chmod +x /usr/local/bin/bazelisk-linux-amd64
- ENV INSTALL_PACKAGES=${INSTALL_PACKAGES}
- ENV USER_NAME=devuser
- ENV USER_UID=${USER_UID}
- ENV USER_GID=${USER_GID}
- ENV IS_CONTAINER_BUILD=true
- COPY ./.devcontainer/customize_container.sh /tmp/opentelemetry_cpp/devcontainer/customize_container.sh
- RUN /tmp/opentelemetry_cpp/devcontainer/customize_container.sh
- RUN apt install -y npm && npm install -g [email protected]
- USER devuser
- WORKDIR /workspaces/opentelemetry-cpp
- ENTRYPOINT []
- CMD ["/bin/bash"]
|