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
|
dotnet build -c %configuration% || goto error
|
||||||
|
|
||||||
echo Testing C#
|
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
|
dotnet test -c %configuration% -f net451 Google.Protobuf.Test\Google.Protobuf.Test.csproj || goto error
|
||||||
|
|
||||||
goto :EOF
|
goto :EOF
|
||||||
|
@ -316,7 +316,7 @@ conformance-java-lite: javac_middleman_lite
|
|||||||
conformance-csharp: $(other_language_protoc_outputs)
|
conformance-csharp: $(other_language_protoc_outputs)
|
||||||
@echo "Writing shortcut script conformance-csharp..."
|
@echo "Writing shortcut script conformance-csharp..."
|
||||||
@echo '#! /bin/sh' > 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
|
@chmod +x conformance-csharp
|
||||||
|
|
||||||
conformance-php:
|
conformance-php:
|
||||||
|
@ -10,8 +10,8 @@ dotnet restore $SRC/Google.Protobuf.sln
|
|||||||
dotnet build -c $CONFIG $SRC/Google.Protobuf.sln
|
dotnet build -c $CONFIG $SRC/Google.Protobuf.sln
|
||||||
|
|
||||||
echo Running tests.
|
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
|
# If we want to test the .NET 4.5 version separately, we could
|
||||||
# run Mono explicitly. However, we don't have any differences between
|
# run Mono explicitly. However, we don't have any differences between
|
||||||
# the .NET 4.5 and netstandard2.1 assemblies.
|
# 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>
|
<PropertyGroup>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<TargetFrameworks>net451;netcoreapp2.1</TargetFrameworks>
|
<TargetFrameworks>net451;netcoreapp3.1</TargetFrameworks>
|
||||||
<AssemblyOriginatorKeyFile>../../keys/Google.Protobuf.snk</AssemblyOriginatorKeyFile>
|
<AssemblyOriginatorKeyFile>../../keys/Google.Protobuf.snk</AssemblyOriginatorKeyFile>
|
||||||
<SignAssembly>true</SignAssembly>
|
<SignAssembly>true</SignAssembly>
|
||||||
<IsPackable>False</IsPackable>
|
<IsPackable>False</IsPackable>
|
||||||
|
@ -22,7 +22,7 @@ function run_test() {
|
|||||||
dotnet restore src/Google.Protobuf.Test/Google.Protobuf.Test.csproj
|
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/Google.Protobuf.csproj
|
||||||
dotnet build -c Release src/Google.Protobuf.Test/Google.Protobuf.Test.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
|
set -ex
|
||||||
|
@ -16,5 +16,5 @@ Invoke-WebRequest -Uri $InstallScriptUrl -OutFile $InstallScriptPath
|
|||||||
|
|
||||||
# The SDK versions to install should be kept in sync with versions
|
# The SDK versions to install should be kept in sync with versions
|
||||||
# installed by kokoro/linux/dockerfile/test/csharp/Dockerfile
|
# installed by kokoro/linux/dockerfile/test/csharp/Dockerfile
|
||||||
&$InstallScriptPath -Version 2.1.802
|
&$InstallScriptPath -Version 3.1.415
|
||||||
&$InstallScriptPath -Version 5.0.102
|
&$InstallScriptPath -Version 6.0.100
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<StartupObject>Google.Protobuf.Examples.AddressBook.Program</StartupObject>
|
<StartupObject>Google.Protobuf.Examples.AddressBook.Program</StartupObject>
|
||||||
<IsPackable>False</IsPackable>
|
<IsPackable>False</IsPackable>
|
||||||
|
@ -36,7 +36,7 @@ namespace Google.Protobuf.Benchmarks
|
|||||||
{
|
{
|
||||||
class Program
|
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
|
// (this can profile both .net core and .net framework; for some reason
|
||||||
// if you start from "-f net461", it goes horribly wrong)
|
// if you start from "-f net461", it goes horribly wrong)
|
||||||
public static void Main(string[] args)
|
public static void Main(string[] args)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<IsPackable>False</IsPackable>
|
<IsPackable>False</IsPackable>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<IsPackable>False</IsPackable>
|
<IsPackable>False</IsPackable>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
@ -840,7 +840,7 @@ namespace Google.Protobuf.Collections
|
|||||||
var list2 = new RepeatedField<double> { SampleNaNs.Regular, SampleNaNs.PayloadFlipped };
|
var list2 = new RepeatedField<double> { SampleNaNs.Regular, SampleNaNs.PayloadFlipped };
|
||||||
var list3 = new RepeatedField<double> { SampleNaNs.Regular, SampleNaNs.SignallingFlipped };
|
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.AssertInequality(list1, list2, checkHashcode: false);
|
||||||
EqualityTester.AssertEquality(list1, list3);
|
EqualityTester.AssertEquality(list1, list3);
|
||||||
Assert.True(list1.Contains(SampleNaNs.SignallingFlipped));
|
Assert.True(list1.Contains(SampleNaNs.SignallingFlipped));
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFrameworks>net451;netcoreapp2.1;net50</TargetFrameworks>
|
<TargetFrameworks>net451;netcoreapp3.1;net60</TargetFrameworks>
|
||||||
<AssemblyOriginatorKeyFile>../../keys/Google.Protobuf.snk</AssemblyOriginatorKeyFile>
|
<AssemblyOriginatorKeyFile>../../keys/Google.Protobuf.snk</AssemblyOriginatorKeyFile>
|
||||||
<SignAssembly>true</SignAssembly>
|
<SignAssembly>true</SignAssembly>
|
||||||
<IsPackable>False</IsPackable>
|
<IsPackable>False</IsPackable>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Description>C# runtime library for Protocol Buffers - Google's data interchange format.</Description>
|
<Description>C# runtime library for Protocol Buffers - Google's data interchange format.</Description>
|
||||||
@ -43,7 +43,7 @@
|
|||||||
|
|
||||||
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
|
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
|
||||||
<PackageReference Include="System.Memory" Version="4.5.3"/>
|
<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"/>
|
<PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="4.5.2"/>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"sdk": {
|
"sdk": {
|
||||||
"version": "5.0.102",
|
"version": "6.0.100",
|
||||||
"rollForward": "latestMinor"
|
"rollForward": "latestMinor"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@ fi
|
|||||||
# First, build protobuf C# tests under x86_64 docker image
|
# 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
|
# 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)
|
# (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"
|
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
|
# 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
|
# 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,
|
# 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
|
# 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"
|
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
|
# Install dotnet SDK via install script
|
||||||
RUN wget -q https://dot.net/v1/dotnet-install.sh && \
|
RUN wget -q https://dot.net/v1/dotnet-install.sh && \
|
||||||
chmod u+x dotnet-install.sh && \
|
chmod u+x dotnet-install.sh && \
|
||||||
./dotnet-install.sh --version 2.1.802 && \
|
./dotnet-install.sh --version 3.1.415 && \
|
||||||
./dotnet-install.sh --version 5.0.102 && \
|
./dotnet-install.sh --version 6.0.100 && \
|
||||||
ln -s /root/.dotnet/dotnet /usr/local/bin
|
ln -s /root/.dotnet/dotnet /usr/local/bin
|
||||||
|
|
||||||
RUN wget -q www.nuget.org/NuGet.exe -O /usr/local/bin/nuget.exe
|
RUN wget -q www.nuget.org/NuGet.exe -O /usr/local/bin/nuget.exe
|
||||||
|
Loading…
Reference in New Issue
Block a user