1#!/usr/bin/env bash 2# Copyright 2021 The gRPC Authors 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15 16set -ex 17 18# install pre-requisites for gRPC C core build 19sudo apt update 20sudo apt install -y build-essential autoconf libtool pkg-config cmake python python-pip clang 21sudo pip install six 22 23# install gRPC C# pre-requisites 24curl -sSL -o dotnet-install.sh https://dot.net/v1/dotnet-install.sh 25chmod u+x dotnet-install.sh 26# Installed .NET versions should be kept in sync with 27# templates/tools/dockerfile/csharp_dotnetcli_deps.include 28./dotnet-install.sh --channel 3.1 29./dotnet-install.sh --channel 6.0 30export PATH="$HOME/.dotnet:$PATH" 31 32# Disable some unwanted dotnet options 33export NUGET_XMLDOC_MODE=skip 34export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true 35export DOTNET_CLI_TELEMETRY_OPTOUT=true 36 37dotnet --list-sdks 38 39cd grpc 40 41git submodule update --init 42 43# build and test C# 44tools/run_tests/run_tests.py -l csharp -c opt --compiler coreclr -t -x run_tests/csharp_linux_aarch64_opt_native/sponge_log.xml --report_suite_name csharp_linux_aarch64_opt_native --report_multi_target 45