Merge pull request #17309 from jtattermusch/csharp_stretch_dockerfiles2

Upgrade C# testing images to debian stretch (second attempt)
pull/17376/head
Jan Tattermusch 6 years ago committed by GitHub
commit 69010a781c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      src/csharp/Grpc.Core.Tests/AppDomainUnloadTest.cs
  2. 2
      src/csharp/Grpc.Core.Tests/Grpc.Core.Tests.csproj
  3. 2
      src/csharp/Grpc.Core.Tests/NUnitMain.cs
  4. 4
      src/csharp/Grpc.Core.Tests/SanityTest.cs
  5. 4
      src/csharp/Grpc.Core/Internal/NativeExtension.cs
  6. 2
      src/csharp/Grpc.Examples.MathClient/Grpc.Examples.MathClient.csproj
  7. 2
      src/csharp/Grpc.Examples.MathServer/Grpc.Examples.MathServer.csproj
  8. 2
      src/csharp/Grpc.Examples.Tests/Grpc.Examples.Tests.csproj
  9. 2
      src/csharp/Grpc.Examples.Tests/NUnitMain.cs
  10. 2
      src/csharp/Grpc.Examples/Grpc.Examples.csproj
  11. 2
      src/csharp/Grpc.HealthCheck.Tests/Grpc.HealthCheck.Tests.csproj
  12. 2
      src/csharp/Grpc.HealthCheck.Tests/NUnitMain.cs
  13. 2
      src/csharp/Grpc.IntegrationTesting.Client/Grpc.IntegrationTesting.Client.csproj
  14. 2
      src/csharp/Grpc.IntegrationTesting.QpsWorker/Grpc.IntegrationTesting.QpsWorker.csproj
  15. 4
      src/csharp/Grpc.IntegrationTesting.Server/Grpc.IntegrationTesting.Server.csproj
  16. 2
      src/csharp/Grpc.IntegrationTesting.StressClient/Grpc.IntegrationTesting.StressClient.csproj
  17. 2
      src/csharp/Grpc.IntegrationTesting/Grpc.IntegrationTesting.csproj
  18. 2
      src/csharp/Grpc.IntegrationTesting/NUnitMain.cs
  19. 2
      src/csharp/Grpc.Microbenchmarks/Grpc.Microbenchmarks.csproj
  20. 2
      src/csharp/Grpc.Reflection.Tests/Grpc.Reflection.Tests.csproj
  21. 2
      src/csharp/Grpc.Reflection.Tests/NUnitMain.cs
  22. 2
      src/csharp/Grpc.Tools.Tests/Grpc.Tools.Tests.csproj
  23. 2
      src/csharp/Grpc.Tools.Tests/NUnitMain.cs
  24. 25
      templates/tools/dockerfile/csharp_deps.include
  25. 26
      templates/tools/dockerfile/csharp_dotnetcli_deps.include
  26. 2
      templates/tools/dockerfile/interoptest/grpc_interop_csharp/Dockerfile.template
  27. 2
      templates/tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/Dockerfile.template
  28. 4
      templates/tools/dockerfile/test/csharp_stretch_x64/Dockerfile.template
  29. 45
      tools/dockerfile/interoptest/grpc_interop_csharp/Dockerfile
  30. 45
      tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/Dockerfile
  31. 47
      tools/dockerfile/test/csharp_stretch_x64/Dockerfile
  32. 4
      tools/run_tests/run_interop_tests.py
  33. 4
      tools/run_tests/run_tests.py

@ -25,7 +25,7 @@ namespace Grpc.Core.Tests
{ {
public class AppDomainUnloadTest public class AppDomainUnloadTest
{ {
#if NETCOREAPP1_0 #if NETCOREAPP1_1 || NETCOREAPP2_1
[Test] [Test]
[Ignore("Not supported for CoreCLR")] [Ignore("Not supported for CoreCLR")]
public void AppDomainUnloadHookCanCleanupAbandonedCall() public void AppDomainUnloadHookCanCleanupAbandonedCall()

@ -4,7 +4,7 @@
<Import Project="..\Grpc.Core\Common.csproj.include" /> <Import Project="..\Grpc.Core\Common.csproj.include" />
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>net45;netcoreapp1.0</TargetFrameworks> <TargetFrameworks>net45;netcoreapp1.1</TargetFrameworks>
<AssemblyName>Grpc.Core.Tests</AssemblyName> <AssemblyName>Grpc.Core.Tests</AssemblyName>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<PackageId>Grpc.Core.Tests</PackageId> <PackageId>Grpc.Core.Tests</PackageId>

@ -34,7 +34,7 @@ namespace Grpc.Core.Tests
{ {
// Make logger immune to NUnit capturing stdout and stderr to workaround https://github.com/nunit/nunit/issues/1406. // Make logger immune to NUnit capturing stdout and stderr to workaround https://github.com/nunit/nunit/issues/1406.
GrpcEnvironment.SetLogger(new ConsoleLogger()); GrpcEnvironment.SetLogger(new ConsoleLogger());
#if NETCOREAPP1_0 #if NETCOREAPP1_1 || NETCOREAPP2_1
return new AutoRun(typeof(NUnitMain).GetTypeInfo().Assembly).Execute(args, new ExtendedTextWrapper(Console.Out), Console.In); return new AutoRun(typeof(NUnitMain).GetTypeInfo().Assembly).Execute(args, new ExtendedTextWrapper(Console.Out), Console.In);
#else #else
return new AutoRun().Execute(args); return new AutoRun().Execute(args);

@ -31,7 +31,7 @@ namespace Grpc.Core.Tests
public class SanityTest public class SanityTest
{ {
// TODO: make sanity test work for CoreCLR as well // TODO: make sanity test work for CoreCLR as well
#if !NETCOREAPP1_0 #if !NETCOREAPP1_1 && !NETCOREAPP2_1
/// <summary> /// <summary>
/// Because we depend on a native library, sometimes when things go wrong, the /// Because we depend on a native library, sometimes when things go wrong, the
/// entire NUnit test process crashes. To be able to track down problems better, /// entire NUnit test process crashes. To be able to track down problems better,
@ -44,7 +44,7 @@ namespace Grpc.Core.Tests
public void TestsJsonUpToDate() public void TestsJsonUpToDate()
{ {
var discoveredTests = DiscoverAllTestClasses(); var discoveredTests = DiscoverAllTestClasses();
var testsFromFile var testsFromFile
= JsonConvert.DeserializeObject<Dictionary<string, List<string>>>(ReadTestsJson()); = JsonConvert.DeserializeObject<Dictionary<string, List<string>>>(ReadTestsJson());
Assert.AreEqual(discoveredTests, testsFromFile); Assert.AreEqual(discoveredTests, testsFromFile);

@ -83,13 +83,13 @@ namespace Grpc.Core.Internal
// See https://github.com/grpc/grpc/pull/7303 for one option. // See https://github.com/grpc/grpc/pull/7303 for one option.
var assemblyDirectory = Path.GetDirectoryName(GetAssemblyPath()); var assemblyDirectory = Path.GetDirectoryName(GetAssemblyPath());
// With old-style VS projects, the native libraries get copied using a .targets rule to the build output folder // With "classic" VS projects, the native libraries get copied using a .targets rule to the build output folder
// alongside the compiled assembly. // alongside the compiled assembly.
// With dotnet cli projects targeting net45 framework, the native libraries (just the required ones) // With dotnet cli projects targeting net45 framework, the native libraries (just the required ones)
// are similarly copied to the built output folder, through the magic of Microsoft.NETCore.Platforms. // are similarly copied to the built output folder, through the magic of Microsoft.NETCore.Platforms.
var classicPath = Path.Combine(assemblyDirectory, GetNativeLibraryFilename()); var classicPath = Path.Combine(assemblyDirectory, GetNativeLibraryFilename());
// With dotnet cli project targeting netcoreapp1.0, projects will use Grpc.Core assembly directly in the location where it got restored // With dotnet cli project targeting netcoreappX.Y, projects will use Grpc.Core assembly directly in the location where it got restored
// by nuget. We locate the native libraries based on known structure of Grpc.Core nuget package. // by nuget. We locate the native libraries based on known structure of Grpc.Core nuget package.
// When "dotnet publish" is used, the runtimes directory is copied next to the published assemblies. // When "dotnet publish" is used, the runtimes directory is copied next to the published assemblies.
string runtimesDirectory = string.Format("runtimes/{0}/native", GetPlatformString()); string runtimesDirectory = string.Format("runtimes/{0}/native", GetPlatformString());

@ -4,7 +4,7 @@
<Import Project="..\Grpc.Core\Common.csproj.include" /> <Import Project="..\Grpc.Core\Common.csproj.include" />
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>net45;netcoreapp1.0</TargetFrameworks> <TargetFrameworks>net45;netcoreapp1.1</TargetFrameworks>
<AssemblyName>Grpc.Examples.MathClient</AssemblyName> <AssemblyName>Grpc.Examples.MathClient</AssemblyName>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<PackageId>Grpc.Examples.MathClient</PackageId> <PackageId>Grpc.Examples.MathClient</PackageId>

@ -4,7 +4,7 @@
<Import Project="..\Grpc.Core\Common.csproj.include" /> <Import Project="..\Grpc.Core\Common.csproj.include" />
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>net45;netcoreapp1.0</TargetFrameworks> <TargetFrameworks>net45;netcoreapp1.1</TargetFrameworks>
<AssemblyName>Grpc.Examples.MathServer</AssemblyName> <AssemblyName>Grpc.Examples.MathServer</AssemblyName>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<PackageId>Grpc.Examples.MathServer</PackageId> <PackageId>Grpc.Examples.MathServer</PackageId>

@ -4,7 +4,7 @@
<Import Project="..\Grpc.Core\Common.csproj.include" /> <Import Project="..\Grpc.Core\Common.csproj.include" />
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>net45;netcoreapp1.0</TargetFrameworks> <TargetFrameworks>net45;netcoreapp1.1</TargetFrameworks>
<AssemblyName>Grpc.Examples.Tests</AssemblyName> <AssemblyName>Grpc.Examples.Tests</AssemblyName>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<PackageId>Grpc.Examples.Tests</PackageId> <PackageId>Grpc.Examples.Tests</PackageId>

@ -34,7 +34,7 @@ namespace Grpc.Examples.Tests
{ {
// Make logger immune to NUnit capturing stdout and stderr to workaround https://github.com/nunit/nunit/issues/1406. // Make logger immune to NUnit capturing stdout and stderr to workaround https://github.com/nunit/nunit/issues/1406.
GrpcEnvironment.SetLogger(new ConsoleLogger()); GrpcEnvironment.SetLogger(new ConsoleLogger());
#if NETCOREAPP1_0 #if NETCOREAPP1_1 || NETCOREAPP2_1
return new AutoRun(typeof(NUnitMain).GetTypeInfo().Assembly).Execute(args, new ExtendedTextWrapper(Console.Out), Console.In); return new AutoRun(typeof(NUnitMain).GetTypeInfo().Assembly).Execute(args, new ExtendedTextWrapper(Console.Out), Console.In);
#else #else
return new AutoRun().Execute(args); return new AutoRun().Execute(args);

@ -4,7 +4,7 @@
<Import Project="..\Grpc.Core\Common.csproj.include" /> <Import Project="..\Grpc.Core\Common.csproj.include" />
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>net45;netcoreapp1.0</TargetFrameworks> <TargetFrameworks>net45;netcoreapp1.1</TargetFrameworks>
<AssemblyName>Grpc.Examples</AssemblyName> <AssemblyName>Grpc.Examples</AssemblyName>
<PackageId>Grpc.Examples</PackageId> <PackageId>Grpc.Examples</PackageId>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors> <TreatWarningsAsErrors>true</TreatWarningsAsErrors>

@ -4,7 +4,7 @@
<Import Project="..\Grpc.Core\Common.csproj.include" /> <Import Project="..\Grpc.Core\Common.csproj.include" />
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>net45;netcoreapp1.0</TargetFrameworks> <TargetFrameworks>net45;netcoreapp1.1</TargetFrameworks>
<AssemblyName>Grpc.HealthCheck.Tests</AssemblyName> <AssemblyName>Grpc.HealthCheck.Tests</AssemblyName>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<PackageId>Grpc.HealthCheck.Tests</PackageId> <PackageId>Grpc.HealthCheck.Tests</PackageId>

@ -34,7 +34,7 @@ namespace Grpc.HealthCheck.Tests
{ {
// Make logger immune to NUnit capturing stdout and stderr to workaround https://github.com/nunit/nunit/issues/1406. // Make logger immune to NUnit capturing stdout and stderr to workaround https://github.com/nunit/nunit/issues/1406.
GrpcEnvironment.SetLogger(new ConsoleLogger()); GrpcEnvironment.SetLogger(new ConsoleLogger());
#if NETCOREAPP1_0 #if NETCOREAPP1_1 || NETCOREAPP2_1
return new AutoRun(typeof(NUnitMain).GetTypeInfo().Assembly).Execute(args, new ExtendedTextWrapper(Console.Out), Console.In); return new AutoRun(typeof(NUnitMain).GetTypeInfo().Assembly).Execute(args, new ExtendedTextWrapper(Console.Out), Console.In);
#else #else
return new AutoRun().Execute(args); return new AutoRun().Execute(args);

@ -4,7 +4,7 @@
<Import Project="..\Grpc.Core\Common.csproj.include" /> <Import Project="..\Grpc.Core\Common.csproj.include" />
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>net45;netcoreapp1.0</TargetFrameworks> <TargetFrameworks>net45;netcoreapp1.1</TargetFrameworks>
<AssemblyName>Grpc.IntegrationTesting.Client</AssemblyName> <AssemblyName>Grpc.IntegrationTesting.Client</AssemblyName>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<PackageId>Grpc.IntegrationTesting.Client</PackageId> <PackageId>Grpc.IntegrationTesting.Client</PackageId>

@ -4,7 +4,7 @@
<Import Project="..\Grpc.Core\Common.csproj.include" /> <Import Project="..\Grpc.Core\Common.csproj.include" />
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>net45;netcoreapp1.0</TargetFrameworks> <TargetFrameworks>net45;netcoreapp1.1</TargetFrameworks>
<AssemblyName>Grpc.IntegrationTesting.QpsWorker</AssemblyName> <AssemblyName>Grpc.IntegrationTesting.QpsWorker</AssemblyName>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<PackageId>Grpc.IntegrationTesting.QpsWorker</PackageId> <PackageId>Grpc.IntegrationTesting.QpsWorker</PackageId>

@ -4,7 +4,7 @@
<Import Project="..\Grpc.Core\Common.csproj.include" /> <Import Project="..\Grpc.Core\Common.csproj.include" />
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>net45;netcoreapp1.0</TargetFrameworks> <TargetFrameworks>net45;netcoreapp1.1</TargetFrameworks>
<AssemblyName>Grpc.IntegrationTesting.Server</AssemblyName> <AssemblyName>Grpc.IntegrationTesting.Server</AssemblyName>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<PackageId>Grpc.IntegrationTesting.Server</PackageId> <PackageId>Grpc.IntegrationTesting.Server</PackageId>
@ -19,7 +19,7 @@
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="Microsoft.CSharp" /> <Reference Include="Microsoft.CSharp" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="..\Grpc.Core\Version.cs" /> <Compile Include="..\Grpc.Core\Version.cs" />
</ItemGroup> </ItemGroup>

@ -4,7 +4,7 @@
<Import Project="..\Grpc.Core\Common.csproj.include" /> <Import Project="..\Grpc.Core\Common.csproj.include" />
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>net45;netcoreapp1.0</TargetFrameworks> <TargetFrameworks>net45;netcoreapp1.1</TargetFrameworks>
<AssemblyName>Grpc.IntegrationTesting.StressClient</AssemblyName> <AssemblyName>Grpc.IntegrationTesting.StressClient</AssemblyName>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<PackageId>Grpc.IntegrationTesting.StressClient</PackageId> <PackageId>Grpc.IntegrationTesting.StressClient</PackageId>

@ -4,7 +4,7 @@
<Import Project="..\Grpc.Core\Common.csproj.include" /> <Import Project="..\Grpc.Core\Common.csproj.include" />
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>net45;netcoreapp1.0</TargetFrameworks> <TargetFrameworks>net45;netcoreapp1.1</TargetFrameworks>
<AssemblyName>Grpc.IntegrationTesting</AssemblyName> <AssemblyName>Grpc.IntegrationTesting</AssemblyName>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<PackageId>Grpc.IntegrationTesting</PackageId> <PackageId>Grpc.IntegrationTesting</PackageId>

@ -34,7 +34,7 @@ namespace Grpc.IntegrationTesting
{ {
// Make logger immune to NUnit capturing stdout and stderr to workaround https://github.com/nunit/nunit/issues/1406. // Make logger immune to NUnit capturing stdout and stderr to workaround https://github.com/nunit/nunit/issues/1406.
GrpcEnvironment.SetLogger(new ConsoleLogger()); GrpcEnvironment.SetLogger(new ConsoleLogger());
#if NETCOREAPP1_0 #if NETCOREAPP1_1 || NETCOREAPP2_1
return new AutoRun(typeof(NUnitMain).GetTypeInfo().Assembly).Execute(args, new ExtendedTextWrapper(Console.Out), Console.In); return new AutoRun(typeof(NUnitMain).GetTypeInfo().Assembly).Execute(args, new ExtendedTextWrapper(Console.Out), Console.In);
#else #else
return new AutoRun().Execute(args); return new AutoRun().Execute(args);

@ -4,7 +4,7 @@
<Import Project="..\Grpc.Core\Common.csproj.include" /> <Import Project="..\Grpc.Core\Common.csproj.include" />
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>net45;netcoreapp1.0</TargetFrameworks> <TargetFrameworks>net45;netcoreapp1.1</TargetFrameworks>
<AssemblyName>Grpc.Microbenchmarks</AssemblyName> <AssemblyName>Grpc.Microbenchmarks</AssemblyName>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<PackageId>Grpc.Microbenchmarks</PackageId> <PackageId>Grpc.Microbenchmarks</PackageId>

@ -4,7 +4,7 @@
<Import Project="..\Grpc.Core\Common.csproj.include" /> <Import Project="..\Grpc.Core\Common.csproj.include" />
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>net45;netcoreapp1.0</TargetFrameworks> <TargetFrameworks>net45;netcoreapp1.1</TargetFrameworks>
<AssemblyName>Grpc.Reflection.Tests</AssemblyName> <AssemblyName>Grpc.Reflection.Tests</AssemblyName>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<PackageId>Grpc.Reflection.Tests</PackageId> <PackageId>Grpc.Reflection.Tests</PackageId>

@ -34,7 +34,7 @@ namespace Grpc.Reflection.Tests
{ {
// Make logger immune to NUnit capturing stdout and stderr to workaround https://github.com/nunit/nunit/issues/1406. // Make logger immune to NUnit capturing stdout and stderr to workaround https://github.com/nunit/nunit/issues/1406.
GrpcEnvironment.SetLogger(new ConsoleLogger()); GrpcEnvironment.SetLogger(new ConsoleLogger());
#if NETCOREAPP1_0 #if NETCOREAPP1_1 || NETCOREAPP2_1
return new AutoRun(typeof(NUnitMain).GetTypeInfo().Assembly).Execute(args, new ExtendedTextWrapper(Console.Out), Console.In); return new AutoRun(typeof(NUnitMain).GetTypeInfo().Assembly).Execute(args, new ExtendedTextWrapper(Console.Out), Console.In);
#else #else
return new AutoRun().Execute(args); return new AutoRun().Execute(args);

@ -3,7 +3,7 @@
<Import Project="..\Grpc.Core\Version.csproj.include" /> <Import Project="..\Grpc.Core\Version.csproj.include" />
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>net45;netcoreapp1.0</TargetFrameworks> <TargetFrameworks>net45;netcoreapp1.1</TargetFrameworks>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
</PropertyGroup> </PropertyGroup>

@ -24,7 +24,7 @@ namespace Grpc.Tools.Tests
static class NUnitMain static class NUnitMain
{ {
public static int Main(string[] args) => public static int Main(string[] args) =>
#if NETCOREAPP1_0 || NETCOREAPP1_1 #if NETCOREAPP1_1 || NETCOREAPP2_1
new AutoRun(typeof(NUnitMain).GetTypeInfo().Assembly).Execute(args); new AutoRun(typeof(NUnitMain).GetTypeInfo().Assembly).Execute(args);
#else #else
new AutoRun().Execute(args); new AutoRun().Execute(args);

@ -1,24 +1,15 @@
#================ #================
# C# dependencies # C# dependencies
# Update to a newer version of mono # cmake >=3.6 needed to build grpc_csharp_ext
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF RUN apt-get update && apt-get install -y cmake && apt-get clean
RUN echo "deb http://download.mono-project.com/repo/debian jessie main" | tee /etc/apt/sources.list.d/mono-official.list
RUN echo "deb http://download.mono-project.com/repo/debian wheezy-apache24-compat main" | tee -a /etc/apt/sources.list.d/mono-xamarin.list # Install mono
RUN echo "deb http://download.mono-project.com/repo/debian wheezy-libjpeg62-compat main" | tee -a /etc/apt/sources.list.d/mono-xamarin.list RUN apt-get update && apt-get install -y apt-transport-https dirmngr && apt-get clean
RUN apt-key adv --no-tty --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
# Install dependencies RUN echo "deb https://download.mono-project.com/repo/debian stable-stretch main" | tee /etc/apt/sources.list.d/mono-official-stable.list
RUN apt-get update && apt-get -y dist-upgrade && apt-get install -y ${'\\'} RUN apt-get update && apt-get install -y ${'\\'}
mono-devel ${'\\'} mono-devel ${'\\'}
ca-certificates-mono ${'\\'} ca-certificates-mono ${'\\'}
nuget ${'\\'} nuget ${'\\'}
&& apt-get clean && apt-get clean
RUN nuget update -self
#=================
# Use cmake 3.6 from jessie-backports
# needed to build grpc_csharp_ext with cmake
RUN echo "deb http://ftp.debian.org/debian jessie-backports main" | tee /etc/apt/sources.list.d/jessie-backports.list
RUN apt-get update && apt-get install -t jessie-backports -y cmake && apt-get clean

@ -1,12 +1,20 @@
# Install dotnet SDK based on https://www.microsoft.com/net/core#debian # Install dotnet SDK
RUN apt-get update && apt-get install -y curl libunwind8 gettext ENV DOTNET_SDK_VERSION 2.1.500
# dotnet-dev-1.0.0-preview2-003131 RUN curl -sSL -o dotnet.tar.gz https://dotnetcli.blob.core.windows.net/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-x64.tar.gz ${'\\'}
RUN curl -sSL -o dotnet100.tar.gz https://go.microsoft.com/fwlink/?LinkID=827530 && mkdir -p /usr/share/dotnet ${'\\'}
RUN mkdir -p /opt/dotnet && tar zxf dotnet100.tar.gz -C /opt/dotnet && tar -zxf dotnet.tar.gz -C /usr/share/dotnet ${'\\'}
# dotnet-dev-1.0.1 && rm dotnet.tar.gz ${'\\'}
RUN curl -sSL -o dotnet101.tar.gz https://go.microsoft.com/fwlink/?LinkID=843453 && ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet
RUN mkdir -p /opt/dotnet && tar zxf dotnet101.tar.gz -C /opt/dotnet
RUN ln -s /opt/dotnet/dotnet /usr/local/bin
# Install .NET Core 1.1.10 runtime (required to run netcoreapp1.1)
RUN curl -sSL -o dotnet_old.tar.gz https://dotnetcli.blob.core.windows.net/dotnet/Runtime/1.1.10/dotnet-debian.9-x64.1.1.10.tar.gz ${'\\'}
&& mkdir -p dotnet_old ${'\\'}
&& tar zxf dotnet_old.tar.gz -C dotnet_old ${'\\'}
&& cp -r dotnet_old/shared/Microsoft.NETCore.App/1.1.10/ /usr/share/dotnet/shared/Microsoft.NETCore.App/ ${'\\'}
&& rm -rf dotnet_old/ dotnet_old.tar.gz
RUN apt-get update && apt-get install -y libunwind8 && apt-get clean
# Trigger the population of the local package cache # Trigger the population of the local package cache
ENV NUGET_XMLDOC_MODE skip ENV NUGET_XMLDOC_MODE skip

@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
FROM debian:jessie FROM debian:stretch
<%include file="../../apt_get_basic.include"/> <%include file="../../apt_get_basic.include"/>
<%include file="../../python_deps.include"/> <%include file="../../python_deps.include"/>

@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
FROM debian:jessie FROM debian:stretch
<%include file="../../apt_get_basic.include"/> <%include file="../../apt_get_basic.include"/>
<%include file="../../python_deps.include"/> <%include file="../../python_deps.include"/>

@ -1,6 +1,6 @@
%YAML 1.2 %YAML 1.2
--- | --- |
# Copyright 2015 gRPC authors. # Copyright 2018 The gRPC Authors
# #
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License. # you may not use this file except in compliance with the License.
@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
FROM debian:jessie FROM debian:stretch
<%include file="../../apt_get_basic.include"/> <%include file="../../apt_get_basic.include"/>
<%include file="../../gcp_api_libraries.include"/> <%include file="../../gcp_api_libraries.include"/>

@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
FROM debian:jessie FROM debian:stretch
# Install Git and basic packages. # Install Git and basic packages.
RUN apt-get update && apt-get install -y \ RUN apt-get update && apt-get install -y \
@ -67,37 +67,36 @@ RUN pip install futures==2.2.0 enum34==1.0.4 protobuf==3.5.2.post1 six==1.10.0 t
#================ #================
# C# dependencies # C# dependencies
# Update to a newer version of mono # cmake >=3.6 needed to build grpc_csharp_ext
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF RUN apt-get update && apt-get install -y cmake && apt-get clean
RUN echo "deb http://download.mono-project.com/repo/debian jessie main" | tee /etc/apt/sources.list.d/mono-official.list
RUN echo "deb http://download.mono-project.com/repo/debian wheezy-apache24-compat main" | tee -a /etc/apt/sources.list.d/mono-xamarin.list
RUN echo "deb http://download.mono-project.com/repo/debian wheezy-libjpeg62-compat main" | tee -a /etc/apt/sources.list.d/mono-xamarin.list
# Install dependencies # Install mono
RUN apt-get update && apt-get -y dist-upgrade && apt-get install -y \ RUN apt-get update && apt-get install -y apt-transport-https dirmngr && apt-get clean
RUN apt-key adv --no-tty --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
RUN echo "deb https://download.mono-project.com/repo/debian stable-stretch main" | tee /etc/apt/sources.list.d/mono-official-stable.list
RUN apt-get update && apt-get install -y \
mono-devel \ mono-devel \
ca-certificates-mono \ ca-certificates-mono \
nuget \ nuget \
&& apt-get clean && apt-get clean
RUN nuget update -self # Install dotnet SDK
ENV DOTNET_SDK_VERSION 2.1.500
RUN curl -sSL -o dotnet.tar.gz https://dotnetcli.blob.core.windows.net/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-x64.tar.gz \
&& mkdir -p /usr/share/dotnet \
&& tar -zxf dotnet.tar.gz -C /usr/share/dotnet \
&& rm dotnet.tar.gz \
&& ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet
#=================
# Use cmake 3.6 from jessie-backports
# needed to build grpc_csharp_ext with cmake
RUN echo "deb http://ftp.debian.org/debian jessie-backports main" | tee /etc/apt/sources.list.d/jessie-backports.list # Install .NET Core 1.1.10 runtime (required to run netcoreapp1.1)
RUN apt-get update && apt-get install -t jessie-backports -y cmake && apt-get clean RUN curl -sSL -o dotnet_old.tar.gz https://dotnetcli.blob.core.windows.net/dotnet/Runtime/1.1.10/dotnet-debian.9-x64.1.1.10.tar.gz \
&& mkdir -p dotnet_old \
&& tar zxf dotnet_old.tar.gz -C dotnet_old \
&& cp -r dotnet_old/shared/Microsoft.NETCore.App/1.1.10/ /usr/share/dotnet/shared/Microsoft.NETCore.App/ \
&& rm -rf dotnet_old/ dotnet_old.tar.gz
RUN apt-get update && apt-get install -y libunwind8 && apt-get clean
# Install dotnet SDK based on https://www.microsoft.com/net/core#debian
RUN apt-get update && apt-get install -y curl libunwind8 gettext
# dotnet-dev-1.0.0-preview2-003131
RUN curl -sSL -o dotnet100.tar.gz https://go.microsoft.com/fwlink/?LinkID=827530
RUN mkdir -p /opt/dotnet && tar zxf dotnet100.tar.gz -C /opt/dotnet
# dotnet-dev-1.0.1
RUN curl -sSL -o dotnet101.tar.gz https://go.microsoft.com/fwlink/?LinkID=843453
RUN mkdir -p /opt/dotnet && tar zxf dotnet101.tar.gz -C /opt/dotnet
RUN ln -s /opt/dotnet/dotnet /usr/local/bin
# Trigger the population of the local package cache # Trigger the population of the local package cache
ENV NUGET_XMLDOC_MODE skip ENV NUGET_XMLDOC_MODE skip

@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
FROM debian:jessie FROM debian:stretch
# Install Git and basic packages. # Install Git and basic packages.
RUN apt-get update && apt-get install -y \ RUN apt-get update && apt-get install -y \
@ -67,37 +67,36 @@ RUN pip install futures==2.2.0 enum34==1.0.4 protobuf==3.5.2.post1 six==1.10.0 t
#================ #================
# C# dependencies # C# dependencies
# Update to a newer version of mono # cmake >=3.6 needed to build grpc_csharp_ext
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF RUN apt-get update && apt-get install -y cmake && apt-get clean
RUN echo "deb http://download.mono-project.com/repo/debian jessie main" | tee /etc/apt/sources.list.d/mono-official.list
RUN echo "deb http://download.mono-project.com/repo/debian wheezy-apache24-compat main" | tee -a /etc/apt/sources.list.d/mono-xamarin.list
RUN echo "deb http://download.mono-project.com/repo/debian wheezy-libjpeg62-compat main" | tee -a /etc/apt/sources.list.d/mono-xamarin.list
# Install dependencies # Install mono
RUN apt-get update && apt-get -y dist-upgrade && apt-get install -y \ RUN apt-get update && apt-get install -y apt-transport-https dirmngr && apt-get clean
RUN apt-key adv --no-tty --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
RUN echo "deb https://download.mono-project.com/repo/debian stable-stretch main" | tee /etc/apt/sources.list.d/mono-official-stable.list
RUN apt-get update && apt-get install -y \
mono-devel \ mono-devel \
ca-certificates-mono \ ca-certificates-mono \
nuget \ nuget \
&& apt-get clean && apt-get clean
RUN nuget update -self # Install dotnet SDK
ENV DOTNET_SDK_VERSION 2.1.500
RUN curl -sSL -o dotnet.tar.gz https://dotnetcli.blob.core.windows.net/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-x64.tar.gz \
&& mkdir -p /usr/share/dotnet \
&& tar -zxf dotnet.tar.gz -C /usr/share/dotnet \
&& rm dotnet.tar.gz \
&& ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet
#=================
# Use cmake 3.6 from jessie-backports
# needed to build grpc_csharp_ext with cmake
RUN echo "deb http://ftp.debian.org/debian jessie-backports main" | tee /etc/apt/sources.list.d/jessie-backports.list # Install .NET Core 1.1.10 runtime (required to run netcoreapp1.1)
RUN apt-get update && apt-get install -t jessie-backports -y cmake && apt-get clean RUN curl -sSL -o dotnet_old.tar.gz https://dotnetcli.blob.core.windows.net/dotnet/Runtime/1.1.10/dotnet-debian.9-x64.1.1.10.tar.gz \
&& mkdir -p dotnet_old \
&& tar zxf dotnet_old.tar.gz -C dotnet_old \
&& cp -r dotnet_old/shared/Microsoft.NETCore.App/1.1.10/ /usr/share/dotnet/shared/Microsoft.NETCore.App/ \
&& rm -rf dotnet_old/ dotnet_old.tar.gz
RUN apt-get update && apt-get install -y libunwind8 && apt-get clean
# Install dotnet SDK based on https://www.microsoft.com/net/core#debian
RUN apt-get update && apt-get install -y curl libunwind8 gettext
# dotnet-dev-1.0.0-preview2-003131
RUN curl -sSL -o dotnet100.tar.gz https://go.microsoft.com/fwlink/?LinkID=827530
RUN mkdir -p /opt/dotnet && tar zxf dotnet100.tar.gz -C /opt/dotnet
# dotnet-dev-1.0.1
RUN curl -sSL -o dotnet101.tar.gz https://go.microsoft.com/fwlink/?LinkID=843453
RUN mkdir -p /opt/dotnet && tar zxf dotnet101.tar.gz -C /opt/dotnet
RUN ln -s /opt/dotnet/dotnet /usr/local/bin
# Trigger the population of the local package cache # Trigger the population of the local package cache
ENV NUGET_XMLDOC_MODE skip ENV NUGET_XMLDOC_MODE skip

@ -1,4 +1,4 @@
# Copyright 2015 gRPC authors. # Copyright 2018 The gRPC Authors
# #
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License. # you may not use this file except in compliance with the License.
@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
FROM debian:jessie FROM debian:stretch
# Install Git and basic packages. # Install Git and basic packages.
RUN apt-get update && apt-get install -y \ RUN apt-get update && apt-get install -y \
@ -71,37 +71,36 @@ RUN pip install futures==2.2.0 enum34==1.0.4 protobuf==3.5.2.post1 six==1.10.0 t
#================ #================
# C# dependencies # C# dependencies
# Update to a newer version of mono # cmake >=3.6 needed to build grpc_csharp_ext
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF RUN apt-get update && apt-get install -y cmake && apt-get clean
RUN echo "deb http://download.mono-project.com/repo/debian jessie main" | tee /etc/apt/sources.list.d/mono-official.list
RUN echo "deb http://download.mono-project.com/repo/debian wheezy-apache24-compat main" | tee -a /etc/apt/sources.list.d/mono-xamarin.list
RUN echo "deb http://download.mono-project.com/repo/debian wheezy-libjpeg62-compat main" | tee -a /etc/apt/sources.list.d/mono-xamarin.list
# Install dependencies # Install mono
RUN apt-get update && apt-get -y dist-upgrade && apt-get install -y \ RUN apt-get update && apt-get install -y apt-transport-https dirmngr && apt-get clean
RUN apt-key adv --no-tty --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
RUN echo "deb https://download.mono-project.com/repo/debian stable-stretch main" | tee /etc/apt/sources.list.d/mono-official-stable.list
RUN apt-get update && apt-get install -y \
mono-devel \ mono-devel \
ca-certificates-mono \ ca-certificates-mono \
nuget \ nuget \
&& apt-get clean && apt-get clean
RUN nuget update -self # Install dotnet SDK
ENV DOTNET_SDK_VERSION 2.1.500
RUN curl -sSL -o dotnet.tar.gz https://dotnetcli.blob.core.windows.net/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-x64.tar.gz \
&& mkdir -p /usr/share/dotnet \
&& tar -zxf dotnet.tar.gz -C /usr/share/dotnet \
&& rm dotnet.tar.gz \
&& ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet
#=================
# Use cmake 3.6 from jessie-backports
# needed to build grpc_csharp_ext with cmake
RUN echo "deb http://ftp.debian.org/debian jessie-backports main" | tee /etc/apt/sources.list.d/jessie-backports.list # Install .NET Core 1.1.10 runtime (required to run netcoreapp1.1)
RUN apt-get update && apt-get install -t jessie-backports -y cmake && apt-get clean RUN curl -sSL -o dotnet_old.tar.gz https://dotnetcli.blob.core.windows.net/dotnet/Runtime/1.1.10/dotnet-debian.9-x64.1.1.10.tar.gz \
&& mkdir -p dotnet_old \
&& tar zxf dotnet_old.tar.gz -C dotnet_old \
&& cp -r dotnet_old/shared/Microsoft.NETCore.App/1.1.10/ /usr/share/dotnet/shared/Microsoft.NETCore.App/ \
&& rm -rf dotnet_old/ dotnet_old.tar.gz
RUN apt-get update && apt-get install -y libunwind8 && apt-get clean
# Install dotnet SDK based on https://www.microsoft.com/net/core#debian
RUN apt-get update && apt-get install -y curl libunwind8 gettext
# dotnet-dev-1.0.0-preview2-003131
RUN curl -sSL -o dotnet100.tar.gz https://go.microsoft.com/fwlink/?LinkID=827530
RUN mkdir -p /opt/dotnet && tar zxf dotnet100.tar.gz -C /opt/dotnet
# dotnet-dev-1.0.1
RUN curl -sSL -o dotnet101.tar.gz https://go.microsoft.com/fwlink/?LinkID=843453
RUN mkdir -p /opt/dotnet && tar zxf dotnet101.tar.gz -C /opt/dotnet
RUN ln -s /opt/dotnet/dotnet /usr/local/bin
# Trigger the population of the local package cache # Trigger the population of the local package cache
ENV NUGET_XMLDOC_MODE skip ENV NUGET_XMLDOC_MODE skip

@ -141,8 +141,8 @@ class CSharpLanguage:
class CSharpCoreCLRLanguage: class CSharpCoreCLRLanguage:
def __init__(self): def __init__(self):
self.client_cwd = 'src/csharp/Grpc.IntegrationTesting.Client/bin/Debug/netcoreapp1.0' self.client_cwd = 'src/csharp/Grpc.IntegrationTesting.Client/bin/Debug/netcoreapp1.1'
self.server_cwd = 'src/csharp/Grpc.IntegrationTesting.Server/bin/Debug/netcoreapp1.0' self.server_cwd = 'src/csharp/Grpc.IntegrationTesting.Server/bin/Debug/netcoreapp1.1'
self.safename = str(self) self.safename = str(self)
def client_cmd(self, args): def client_cmd(self, args):

@ -942,7 +942,7 @@ class CSharpLanguage(object):
self._cmake_arch_option = 'x64' self._cmake_arch_option = 'x64'
else: else:
_check_compiler(self.args.compiler, ['default', 'coreclr']) _check_compiler(self.args.compiler, ['default', 'coreclr'])
self._docker_distro = 'jessie' self._docker_distro = 'stretch'
def test_specs(self): def test_specs(self):
with open('src/csharp/tests.json') as f: with open('src/csharp/tests.json') as f:
@ -954,7 +954,7 @@ class CSharpLanguage(object):
assembly_extension = '.exe' assembly_extension = '.exe'
if self.args.compiler == 'coreclr': if self.args.compiler == 'coreclr':
assembly_subdir += '/netcoreapp1.0' assembly_subdir += '/netcoreapp1.1'
runtime_cmd = ['dotnet', 'exec'] runtime_cmd = ['dotnet', 'exec']
assembly_extension = '.dll' assembly_extension = '.dll'
else: else:

Loading…
Cancel
Save