Update .NET SDKs to LTS versions
This commit is contained in:
parent
d37dcf9e34
commit
aa15931050
@ -38,7 +38,7 @@ dotnet restore
|
||||
dotnet build -c %configuration% || goto error
|
||||
|
||||
echo Testing C#
|
||||
dotnet test -c %configuration% -f netcoreapp2.1 Google.Protobuf.Test\Google.Protobuf.Test.csproj || goto error
|
||||
dotnet test -c %configuration% -f netcoreapp3.1 Google.Protobuf.Test\Google.Protobuf.Test.csproj || goto error
|
||||
dotnet test -c %configuration% -f net451 Google.Protobuf.Test\Google.Protobuf.Test.csproj || goto error
|
||||
|
||||
goto :EOF
|
||||
|
@ -316,7 +316,7 @@ conformance-java-lite: javac_middleman_lite
|
||||
conformance-csharp: $(other_language_protoc_outputs)
|
||||
@echo "Writing shortcut script conformance-csharp..."
|
||||
@echo '#! /bin/sh' > conformance-csharp
|
||||
@echo 'dotnet ../csharp/src/Google.Protobuf.Conformance/bin/Release/netcoreapp2.1/Google.Protobuf.Conformance.dll "$$@"' >> conformance-csharp
|
||||
@echo 'dotnet ../csharp/src/Google.Protobuf.Conformance/bin/Release/netcoreapp3.1/Google.Protobuf.Conformance.dll "$$@"' >> conformance-csharp
|
||||
@chmod +x conformance-csharp
|
||||
|
||||
conformance-php:
|
||||
|
@ -10,8 +10,8 @@ dotnet restore $SRC/Google.Protobuf.sln
|
||||
dotnet build -c $CONFIG $SRC/Google.Protobuf.sln
|
||||
|
||||
echo Running tests.
|
||||
# Only test netcoreapp2.1, which uses the .NET Core runtime.
|
||||
# Only test netcoreapp3.1, which uses the .NET Core runtime.
|
||||
# If we want to test the .NET 4.5 version separately, we could
|
||||
# run Mono explicitly. However, we don't have any differences between
|
||||
# the .NET 4.5 and netstandard2.1 assemblies.
|
||||
dotnet test -c $CONFIG -f netcoreapp2.1 $SRC/Google.Protobuf.Test/Google.Protobuf.Test.csproj
|
||||
dotnet test -c $CONFIG -f netcoreapp3.1 $SRC/Google.Protobuf.Test/Google.Protobuf.Test.csproj
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFrameworks>net451;netcoreapp2.1</TargetFrameworks>
|
||||
<TargetFrameworks>net451;netcoreapp3.1</TargetFrameworks>
|
||||
<AssemblyOriginatorKeyFile>../../keys/Google.Protobuf.snk</AssemblyOriginatorKeyFile>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<IsPackable>False</IsPackable>
|
||||
|
@ -22,7 +22,7 @@ function run_test() {
|
||||
dotnet restore src/Google.Protobuf.Test/Google.Protobuf.Test.csproj
|
||||
dotnet build -c Release src/Google.Protobuf/Google.Protobuf.csproj
|
||||
dotnet build -c Release src/Google.Protobuf.Test/Google.Protobuf.Test.csproj
|
||||
dotnet run -c Release -f netcoreapp2.1 -p src/Google.Protobuf.Test/Google.Protobuf.Test.csproj
|
||||
dotnet run -c Release -f netcoreapp3.1 -p src/Google.Protobuf.Test/Google.Protobuf.Test.csproj
|
||||
}
|
||||
|
||||
set -ex
|
||||
|
@ -16,5 +16,5 @@ Invoke-WebRequest -Uri $InstallScriptUrl -OutFile $InstallScriptPath
|
||||
|
||||
# The SDK versions to install should be kept in sync with versions
|
||||
# installed by kokoro/linux/dockerfile/test/csharp/Dockerfile
|
||||
&$InstallScriptPath -Version 2.1.802
|
||||
&$InstallScriptPath -Version 5.0.102
|
||||
&$InstallScriptPath -Version 3.1.415
|
||||
&$InstallScriptPath -Version 6.0.100
|
||||
|
@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
<OutputType>Exe</OutputType>
|
||||
<StartupObject>Google.Protobuf.Examples.AddressBook.Program</StartupObject>
|
||||
<IsPackable>False</IsPackable>
|
||||
|
@ -36,7 +36,7 @@ namespace Google.Protobuf.Benchmarks
|
||||
{
|
||||
class Program
|
||||
{
|
||||
// typical usage: dotnet run -c Release -f netcoreapp2.1
|
||||
// typical usage: dotnet run -c Release -f netcoreapp3.1
|
||||
// (this can profile both .net core and .net framework; for some reason
|
||||
// if you start from "-f net461", it goes horribly wrong)
|
||||
public static void Main(string[] args)
|
||||
|
@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
<OutputType>Exe</OutputType>
|
||||
<IsPackable>False</IsPackable>
|
||||
</PropertyGroup>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
<OutputType>Exe</OutputType>
|
||||
<IsPackable>False</IsPackable>
|
||||
</PropertyGroup>
|
||||
|
@ -840,7 +840,7 @@ namespace Google.Protobuf.Collections
|
||||
var list2 = new RepeatedField<double> { SampleNaNs.Regular, SampleNaNs.PayloadFlipped };
|
||||
var list3 = new RepeatedField<double> { SampleNaNs.Regular, SampleNaNs.SignallingFlipped };
|
||||
|
||||
// All SampleNaNs have the same hashcode under certain targets (e.g. netcoreapp2.1)
|
||||
// All SampleNaNs have the same hashcode under certain targets (e.g. netcoreapp3.1)
|
||||
EqualityTester.AssertInequality(list1, list2, checkHashcode: false);
|
||||
EqualityTester.AssertEquality(list1, list3);
|
||||
Assert.True(list1.Contains(SampleNaNs.SignallingFlipped));
|
||||
|
@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net451;netcoreapp2.1;net50</TargetFrameworks>
|
||||
<TargetFrameworks>net451;netcoreapp3.1;net60</TargetFrameworks>
|
||||
<AssemblyOriginatorKeyFile>../../keys/Google.Protobuf.snk</AssemblyOriginatorKeyFile>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<IsPackable>False</IsPackable>
|
||||
|
@ -1,4 +1,4 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<Description>C# runtime library for Protocol Buffers - Google's data interchange format.</Description>
|
||||
@ -43,7 +43,7 @@
|
||||
|
||||
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
|
||||
<PackageReference Include="System.Memory" Version="4.5.3"/>
|
||||
<!-- Needed for netcoreapp2.1 to work correctly. .NET is not able to load the assembly without this -->
|
||||
<!-- Needed for netcoreapp3.1 to work correctly. .NET is not able to load the assembly without this -->
|
||||
<PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="4.5.2"/>
|
||||
</ItemGroup>
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"sdk": {
|
||||
"version": "5.0.102",
|
||||
"version": "6.0.100",
|
||||
"rollForward": "latestMinor"
|
||||
}
|
||||
}
|
||||
|
@ -15,7 +15,7 @@ fi
|
||||
# First, build protobuf C# tests under x86_64 docker image
|
||||
# Tests are built "dotnet publish" because we want all the dependencies to the copied to the destination directory
|
||||
# (we want to avoid references to ~/.nuget that won't be available in the subsequent docker run)
|
||||
CSHARP_BUILD_COMMAND="dotnet publish -c Release -f net50 csharp/src/Google.Protobuf.Test/Google.Protobuf.Test.csproj"
|
||||
CSHARP_BUILD_COMMAND="dotnet publish -c Release -f net60 csharp/src/Google.Protobuf.Test/Google.Protobuf.Test.csproj"
|
||||
docker run $DOCKER_TTY_ARGS --rm --user "$(id -u):$(id -g)" -e "HOME=/home/fake-user" -e "DOTNET_CLI_TELEMETRY_OPTOUT=true" -e "DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true" -v "$(mktemp -d):/home/fake-user" -v "$(pwd)":/work -w /work mcr.microsoft.com/dotnet/sdk:5.0.202-buster-slim bash -c "$CSHARP_BUILD_COMMAND"
|
||||
|
||||
# Use an actual aarch64 docker image to run protobuf C# tests with an emulator. "dotnet vstest" allows
|
||||
@ -25,5 +25,5 @@ docker run $DOCKER_TTY_ARGS --rm --user "$(id -u):$(id -g)" -e "HOME=/home/fake-
|
||||
# running under current user's UID and GID. To be able to do that, we need to provide a home directory for the user
|
||||
# otherwise the UID would be homeless under the docker container and pip install wouldn't work. For simplicity,
|
||||
# we just run map the user's home to a throwaway temporary directory
|
||||
CSHARP_TEST_COMMAND="dotnet vstest csharp/src/Google.Protobuf.Test/bin/Release/net50/publish/Google.Protobuf.Test.dll"
|
||||
CSHARP_TEST_COMMAND="dotnet vstest csharp/src/Google.Protobuf.Test/bin/Release/net60/publish/Google.Protobuf.Test.dll"
|
||||
docker run $DOCKER_TTY_ARGS --rm --user "$(id -u):$(id -g)" -e "HOME=/home/fake-user" -e "DOTNET_CLI_TELEMETRY_OPTOUT=true" -e "DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true" -v "$(mktemp -d):/home/fake-user" -v "$(pwd)":/work -w /work mcr.microsoft.com/dotnet/sdk:5.0.202-buster-slim-arm64v8 bash -c "$CSHARP_TEST_COMMAND"
|
||||
|
@ -32,8 +32,8 @@ RUN apt-get update && apt-get install -y libunwind8 libicu63 && apt-get clean
|
||||
# Install dotnet SDK via install script
|
||||
RUN wget -q https://dot.net/v1/dotnet-install.sh && \
|
||||
chmod u+x dotnet-install.sh && \
|
||||
./dotnet-install.sh --version 2.1.802 && \
|
||||
./dotnet-install.sh --version 5.0.102 && \
|
||||
./dotnet-install.sh --version 3.1.415 && \
|
||||
./dotnet-install.sh --version 6.0.100 && \
|
||||
ln -s /root/.dotnet/dotnet /usr/local/bin
|
||||
|
||||
RUN wget -q www.nuget.org/NuGet.exe -O /usr/local/bin/nuget.exe
|
||||
|
Loading…
Reference in New Issue
Block a user