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