diff --git a/build/scripts/docker/Dockerfile b/build/scripts/docker/Dockerfile index 80bb667b9c74b3777675d4803861bdd828464ae4..d3da77ed5d35eb2efab0e4713e3e53ff59c26360 100644 --- a/build/scripts/docker/Dockerfile +++ b/build/scripts/docker/Dockerfile @@ -30,6 +30,14 @@ RUN apt-get install -y libunwind8 \ libcurl4-openssl-dev && \ apt-get clean +# Install Mono +RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF && \ + (echo "deb http://download.mono-project.com/repo/ubuntu stable-xenial main" | \ + tee /etc/apt/sources.list.d/mono-official.list) && \ + apt-get update && \ + apt-get install -y mono-devel=5.8.0.108-0xamarin1+ubuntu1604b1 && \ + apt-get clean + # Setup User to match Host User, and give superuser permissions ARG USER_ID=0 RUN useradd -m code_executor -u ${USER_ID} -g sudo diff --git a/build/scripts/obtain_mono.sh b/build/scripts/obtain_mono.sh deleted file mode 100755 index 76c76090ac1fd81acb17e91873fb4e37d37bd838..0000000000000000000000000000000000000000 --- a/build/scripts/obtain_mono.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash -# Copyright (c) .NET Foundation and contributors. All rights reserved. -# Licensed under the MIT license. See LICENSE file in the project root for full license information. - -# Source this script to ensure mono is installed and on the path. - -# This is a function to keep variable assignments out of the parent script (that is sourcing this file) -install_mono () { - # Download and install `mono` locally - local THIS_DIR="$(cd -P "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - source "${THIS_DIR}"/build-utils.sh - - local MONO_VERSION="$(get_tool_version mono)" - # the tar file has `mono` as the root directory - local MONO_PATH="${THIS_DIR}"/../../Binaries/Tools - - if [[ ! -x "${MONO_PATH}/mono/bin/mono" ]] - then - echo "Downloading mono ${MONO_VERSION}" - mkdir -p "${MONO_PATH}" - curl -L https://roslyninfra.blob.core.windows.net/jenkins/mono/mono-${MONO_VERSION}.tar.gz | tar xz -C "${MONO_PATH}" - fi - - export PATH="${MONO_PATH}/mono/bin:${PATH}" -} -install_mono diff --git a/build/scripts/tests.sh b/build/scripts/tests.sh index 1613f5c61b933fb9faf2f8dcc8c1099bfd8bc32a..5d71271c8b834cb4865d5cc2642bc8a9e77e3af1 100755 --- a/build/scripts/tests.sh +++ b/build/scripts/tests.sh @@ -22,7 +22,6 @@ if [[ "${runtime}" == "dotnet" ]]; then target_framework=netcoreapp2.0 xunit_console="${nuget_dir}"/xunit.runner.console/"${xunit_console_version}"/tools/${target_framework}/xunit.console.dll elif [[ "${runtime}" == "mono" ]]; then - source ${root_path}/build/scripts/obtain_mono.sh target_framework=net461 xunit_console="${nuget_dir}"/xunit.runner.console/"${xunit_console_version}"/tools/net452/xunit.console.exe else @@ -64,7 +63,7 @@ do continue fi - echo Running "${file_name[@]}" + echo Running "${runtime} ${file_name[@]}" if [[ "${runtime}" == "dotnet" ]]; then runner="dotnet exec --depsfile ${deps_json} --runtimeconfig ${runtimeconfig_json}" elif [[ "${runtime}" == "mono" ]]; then