35 lines
1.5 KiB
Docker
35 lines
1.5 KiB
Docker
# Create a container for running the OpenTelemetry W3C Trace Context tests https://github.com/w3c/trace-context/tree/master/test.
|
|
# This should be run from the root of the repo:
|
|
# docker build --file test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests/Dockerfile .
|
|
|
|
ARG BUILD_SDK_VERSION=9.0
|
|
ARG TEST_SDK_VERSION=9.0
|
|
|
|
FROM ubuntu AS w3c
|
|
#Install git
|
|
WORKDIR /w3c
|
|
RUN apt-get update && apt-get install -y git
|
|
RUN git clone --branch level-1 https://github.com/w3c/trace-context.git
|
|
|
|
FROM mcr.microsoft.com/dotnet/sdk:${BUILD_SDK_VERSION} AS build
|
|
ARG PUBLISH_CONFIGURATION=Release
|
|
ARG PUBLISH_FRAMEWORK=net9.0
|
|
WORKDIR /repo
|
|
COPY . ./
|
|
WORKDIR "/repo/test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests"
|
|
RUN dotnet publish "OpenTelemetry.Instrumentation.W3cTraceContext.Tests.csproj" -c "${PUBLISH_CONFIGURATION}" -f "${PUBLISH_FRAMEWORK}" -o /drop -p:IntegrationBuild=true
|
|
|
|
FROM mcr.microsoft.com/dotnet/sdk:${TEST_SDK_VERSION} AS final
|
|
WORKDIR /test
|
|
COPY --from=build /drop .
|
|
COPY --from=w3c /w3c .
|
|
RUN apt-get update \
|
|
&& apt-get install -y python3-pip python3-dev \
|
|
&& cd /usr/local/bin \
|
|
&& ln -s /usr/bin/python3 python
|
|
|
|
# net6.0 image uses Python 3.9, which doesn't have `--break-system-packages` option.
|
|
RUN pip3 install --upgrade pip --break-system-packages || pip3 install --upgrade pip
|
|
RUN pip3 install aiohttp --break-system-packages
|
|
ENTRYPOINT ["dotnet", "vstest", "OpenTelemetry.Instrumentation.W3cTraceContext.Tests.dll", "--logger:console;verbosity=detailed"]
|