1*cc02d7e2SAndroid Build Coastguard Worker# Copyright 2022 gRPC authors. 2*cc02d7e2SAndroid Build Coastguard Worker# 3*cc02d7e2SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 4*cc02d7e2SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 5*cc02d7e2SAndroid Build Coastguard Worker# You may obtain a copy of the License at 6*cc02d7e2SAndroid Build Coastguard Worker# 7*cc02d7e2SAndroid Build Coastguard Worker# http://www.apache.org/licenses/LICENSE-2.0 8*cc02d7e2SAndroid Build Coastguard Worker# 9*cc02d7e2SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 10*cc02d7e2SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 11*cc02d7e2SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*cc02d7e2SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 13*cc02d7e2SAndroid Build Coastguard Worker# limitations under the License. 14*cc02d7e2SAndroid Build Coastguard Worker 15*cc02d7e2SAndroid Build Coastguard Worker 16*cc02d7e2SAndroid Build Coastguard Worker# 17*cc02d7e2SAndroid Build Coastguard Worker# Stage 1: Build the interop test client and server 18*cc02d7e2SAndroid Build Coastguard Worker# 19*cc02d7e2SAndroid Build Coastguard Worker 20*cc02d7e2SAndroid Build Coastguard WorkerFROM debian:bullseye as build 21*cc02d7e2SAndroid Build Coastguard Worker 22*cc02d7e2SAndroid Build Coastguard WorkerRUN apt-get update && apt-get install -y clang curl git 23*cc02d7e2SAndroid Build Coastguard Worker 24*cc02d7e2SAndroid Build Coastguard WorkerWORKDIR /grpc 25*cc02d7e2SAndroid Build Coastguard WorkerCOPY . . 26*cc02d7e2SAndroid Build Coastguard Worker 27*cc02d7e2SAndroid Build Coastguard WorkerRUN /grpc/tools/bazel build test/cpp/interop:observability_interop_test 28*cc02d7e2SAndroid Build Coastguard Worker 29*cc02d7e2SAndroid Build Coastguard Worker 30*cc02d7e2SAndroid Build Coastguard Worker 31*cc02d7e2SAndroid Build Coastguard Worker# 32*cc02d7e2SAndroid Build Coastguard Worker# Stage 2: 33*cc02d7e2SAndroid Build Coastguard Worker# 34*cc02d7e2SAndroid Build Coastguard Worker# - Copy only the necessary files to reduce Docker image size. 35*cc02d7e2SAndroid Build Coastguard Worker# - Have an ENTRYPOINT script which will launch the interop test client or server 36*cc02d7e2SAndroid Build Coastguard Worker# with the given parameters. 37*cc02d7e2SAndroid Build Coastguard Worker# 38*cc02d7e2SAndroid Build Coastguard Worker 39*cc02d7e2SAndroid Build Coastguard WorkerFROM debian:bullseye 40*cc02d7e2SAndroid Build Coastguard Worker 41*cc02d7e2SAndroid Build Coastguard WorkerENV GRPC_TRACE environment_autodetect 42*cc02d7e2SAndroid Build Coastguard WorkerENV GRPC_VERBOSITY debug 43*cc02d7e2SAndroid Build Coastguard Worker 44*cc02d7e2SAndroid Build Coastguard Worker 45*cc02d7e2SAndroid Build Coastguard WorkerWORKDIR /usr/share/grpc 46*cc02d7e2SAndroid Build Coastguard WorkerCOPY --from=build /grpc/etc/roots.pem . 47*cc02d7e2SAndroid Build Coastguard Worker 48*cc02d7e2SAndroid Build Coastguard Worker 49*cc02d7e2SAndroid Build Coastguard WorkerWORKDIR /grpc/bazel-bin/test/cpp/interop 50*cc02d7e2SAndroid Build Coastguard WorkerCOPY --from=build /grpc/bazel-bin/test/cpp/interop/observability_interop_server . 51*cc02d7e2SAndroid Build Coastguard WorkerCOPY --from=build /grpc/bazel-bin/test/cpp/interop/observability_interop_client . 52*cc02d7e2SAndroid Build Coastguard Worker 53*cc02d7e2SAndroid Build Coastguard WorkerWORKDIR /grpc/tools/dockerfile/observability-test/cpp 54*cc02d7e2SAndroid Build Coastguard WorkerCOPY --from=build /grpc/tools/dockerfile/observability-test/cpp/run.sh . 55*cc02d7e2SAndroid Build Coastguard Worker 56*cc02d7e2SAndroid Build Coastguard WorkerENTRYPOINT ["/grpc/tools/dockerfile/observability-test/cpp/run.sh"] 57