Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Branch out DotNet 5 #1484

Merged
merged 12 commits into from
Sep 1, 2020
76 changes: 51 additions & 25 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ jobs:
channels: # for public jobs we want to make sure that the PRs don't break any of the supported frameworks
# - release/3.1.3xx
- 3.0
- release/5.0.1xx

# Windows x64 Blazor scenario benchmarks
- template: /eng/performance/scenarios.yml
Expand All @@ -75,7 +76,8 @@ jobs:
queue: Windows.10.Amd64.ClientRS5.Open
projectFile: blazor_scenarios.proj
channels:
- master
#- master
- release/5.0.1xx

# Windows x64 SDK scenario benchmarks
- template: /eng/performance/scenarios.yml
Expand All @@ -88,7 +90,8 @@ jobs:
queue: Windows.10.Amd64.ClientRS5.Open
projectFile: sdk_scenarios.proj
channels:
- master
#- master
- release/5.0.1xx
# - release/3.1.3xx

# Ubuntu 1804 x64 SDK scenario benchmarks
Expand All @@ -102,8 +105,9 @@ jobs:
queue: Ubuntu.1804.Amd64.Open
container: ubuntu_x64_build_container
projectFile: sdk_scenarios.proj
channels: # for Roslyn jobs we want to check .NET Core 3.1 and 5.0 only
- master
channels:
#- master
- release/5.0.1xx
# - release/3.1.3xx

# Windows x86 SDK scenario benchmarks
Expand All @@ -117,7 +121,8 @@ jobs:
queue: Windows.10.Amd64.ClientRS5.Open
projectFile: sdk_scenarios.proj
channels:
- master
#- master
- release/5.0.1xx
# - release/3.1.3xx

# Windows x64 micro benchmarks
Expand All @@ -132,7 +137,8 @@ jobs:
csproj: src\benchmarks\micro\MicroBenchmarks.csproj
runCategories: 'runtime libraries'
channels:
- master
#- master
- release/5.0.1xx
- release/3.1.3xx
- 2.1

Expand Down Expand Up @@ -162,7 +168,8 @@ jobs:
csproj: src\benchmarks\micro\MicroBenchmarks.csproj
runCategories: 'runtime libraries'
channels: # for public jobs we want to make sure that the PRs don't break x86
- master
#- master
- release/5.0.1xx

# Windows x64 ML.NET benchmarks
- template: /eng/performance/benchmark_jobs.yml
Expand All @@ -176,7 +183,8 @@ jobs:
csproj: src\benchmarks\real-world\Microsoft.ML.Benchmarks\Microsoft.ML.Benchmarks.csproj
runCategories: 'mldotnet'
channels: # for ML.NET jobs we want to check .NET Core 3.1 and 5.0 only
- master
#- master
- release/5.0.1xx
- release/3.1.3xx

# Windows x64 Roslyn benchmarks
Expand All @@ -191,7 +199,8 @@ jobs:
csproj: src\benchmarks\real-world\Roslyn\CompilerBenchmarks.csproj
runCategories: 'roslyn'
channels: # for Roslyn jobs we want to check .NET Core 3.1 and 5.0 only
- master
#- master
- release/5.0.1xx
- release/3.1.3xx

# Ubuntu 1804 x64 micro benchmarks
Expand All @@ -207,7 +216,8 @@ jobs:
csproj: src/benchmarks/micro/MicroBenchmarks.csproj
runCategories: 'runtime libraries'
channels: # for public jobs we want to make sure that the PRs don't break any of the supported frameworks
- master
#- master
- release/5.0.1xx
- release/3.1.3xx
- 2.1

Expand All @@ -224,7 +234,8 @@ jobs:
runCategories: 'mldotnet'
csproj: src/benchmarks/real-world/Microsoft.ML.Benchmarks/Microsoft.ML.Benchmarks.csproj
channels: # for ML.NET jobs we want to check .NET Core 3.1 and 5.0 only
- master
#- master
- release/5.0.1xx
- release/3.1.3xx

# Ubuntu 1804 x64 Roslyn benchmarks
Expand All @@ -240,7 +251,8 @@ jobs:
runCategories: 'roslyn'
csproj: src/benchmarks/real-world/Roslyn/CompilerBenchmarks.csproj
channels: # for Roslyn jobs we want to check .NET Core 3.1 and 5.0 only
- master
#- master
- release/5.0.1xx
- release/3.1.3xx

###########################################
Expand All @@ -261,6 +273,7 @@ jobs:
projectFile: scenarios.proj
channels: # for public jobs we want to make sure that the PRs don't break any of the supported channels
# - release/3.1.2xx
- release/5.0.1xx
- 3.0

# Windows x64 micro benchmarks
Expand All @@ -275,7 +288,8 @@ jobs:
csproj: src\benchmarks\micro\MicroBenchmarks.csproj
runCategories: 'runtime libraries'
channels: # for private jobs we want to benchmark .NET Core 3.1 and 5.0 only
- master
#- master
- release/5.0.1xx
- release/3.1.2xx

# Windows x86 micro benchmarks
Expand All @@ -290,7 +304,8 @@ jobs:
csproj: src\benchmarks\micro\MicroBenchmarks.csproj
runCategories: 'runtime libraries'
channels: # for private jobs we want to benchmark .NET Core 3.1 and 5.0 only
- master
#- master
- release/5.0.1xx
- release/3.1.2xx

# Windows x64 ML.NET benchmarks
Expand All @@ -305,7 +320,8 @@ jobs:
csproj: src\benchmarks\real-world\Microsoft.ML.Benchmarks\Microsoft.ML.Benchmarks.csproj
runCategories: 'mldotnet'
channels: # for private jobs we want to benchmark .NET Core 3.1 and 5.0 only
- master
#- master
- release/5.0.1xx
- release/3.1.2xx

# Windows x64 Roslyn benchmarks
Expand All @@ -320,7 +336,8 @@ jobs:
csproj: src\benchmarks\real-world\Roslyn\CompilerBenchmarks.csproj
runCategories: 'roslyn'
channels: # for private jobs we want to benchmark .NET Core 3.1 and 5.0 only
- master
#- master
- release/5.0.1xx
- release/3.1.2xx

# Ubuntu 1804 x64 micro benchmarks
Expand All @@ -336,7 +353,8 @@ jobs:
csproj: src/benchmarks/micro/MicroBenchmarks.csproj
runCategories: 'runtime libraries'
channels: # for private jobs we want to benchmark .NET Core 3.1 and 5.0 only
- master
#- master
- release/5.0.1xx
- release/3.1.2xx

# Ubuntu 1804 x64 ML.NET benchmarks
Expand All @@ -352,7 +370,8 @@ jobs:
csproj: src/benchmarks/real-world/Microsoft.ML.Benchmarks/Microsoft.ML.Benchmarks.csproj
runCategories: 'mldotnet'
channels: # for private jobs we want to benchmark .NET Core 3.1 and 5.0 only
- master
#- master
- release/5.0.1xx
- release/3.1.2xx

# Ubuntu 1804 x64 Roslyn benchmarks
Expand All @@ -368,7 +387,8 @@ jobs:
csproj: src/benchmarks/real-world/Roslyn/CompilerBenchmarks.csproj
runCategories: 'roslyn'
channels: # for private jobs we want to benchmark .NET Core 3.1 and 5.0 only
- master
#- master
- release/5.0.1xx
- release/3.1.2xx

################################################
Expand All @@ -389,7 +409,8 @@ jobs:
queue: Windows.10.Amd64.19H1.Tiger.Perf
projectFile: sdk_scenarios.proj
channels:
- master
#- master
- release/5.0.1xx
# - release/3.1.2xx

# Windows x86 SDK scenario benchmarks
Expand All @@ -403,7 +424,8 @@ jobs:
queue: Windows.10.Amd64.19H1.Tiger.Perf
projectFile: sdk_scenarios.proj
channels:
- master
#- master
- release/5.0.1xx
# - release/3.1.2xx

# Ubuntu 1804 x64 SDK scenario benchmarks
Expand All @@ -418,7 +440,8 @@ jobs:
container: ubuntu_x64_build_container
projectFile: sdk_scenarios.proj
channels:
- master
#- master
- release/5.0.1xx
# - release/3.1.2xx

# Windows x64 Blazor 3.2 scenario benchmarks
Expand All @@ -432,7 +455,8 @@ jobs:
queue: Windows.10.Amd64.19H1.Tiger.Perf
projectFile: blazor_scenarios.proj
channels:
- master
#- master
- release/5.0.1xx

# Ubuntu 1804 ARM64 micro benchmarks
- template: /eng/performance/benchmark_jobs.yml
Expand All @@ -447,7 +471,8 @@ jobs:
csproj: src/benchmarks/micro/MicroBenchmarks.csproj
runCategories: 'runtime libraries'
channels: # for private jobs we want to benchmark .NET Core 5.0 and 3.1
- master
#- master
- release/5.0.1xx
- release/3.1.2xx

# Ubuntu 1804 ARM64 micro benchmarks
Expand All @@ -462,7 +487,8 @@ jobs:
csproj: src/benchmarks/micro/MicroBenchmarks.csproj
runCategories: 'runtime libraries'
channels: # for private jobs we want to benchmark .NET Core 5.0 and 3.1
- master
#- master
- release/5.0.1xx
ooooolivia marked this conversation as resolved.
Show resolved Hide resolved
- release/3.1.2xx

################################################
Expand Down
2 changes: 1 addition & 1 deletion eng/Version.Details.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>7385e2722b9fa517314aa5db1fa598a8d417b3c7</Sha>
</Dependency>
<Dependency Name="Microsoft.Dotnet.Sdk.Internal" Version="5.0.100-rc.1.20420.2">
<Dependency Name="Microsoft.Dotnet.Sdk.Internal" Version="6.0.100-alpha.1.20421.6">
<Uri>https://github.com/dotnet/installer</Uri>
<Sha>52d9043e03df264c5e39657857a4875157b76694</Sha>
</Dependency>
Expand Down
2 changes: 1 addition & 1 deletion eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
</PropertyGroup>
<!--Package versions-->
<PropertyGroup>
<MicrosoftDotnetSdkInternalPackageVersion>5.0.100-rc.1.20420.2</MicrosoftDotnetSdkInternalPackageVersion>
<MicrosoftDotnetSdkInternalPackageVersion>6.0.100-alpha.1.20421.6</MicrosoftDotnetSdkInternalPackageVersion>
</PropertyGroup>
<!--Package names-->
<PropertyGroup>
Expand Down
8 changes: 8 additions & 0 deletions scripts/channel_map.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,14 @@ class ChannelMap():
'tfm': 'netcoreapp5.0',
'branch': 'master'
},
'release/5.0.1xx':{
'tfm': 'netcoreapp5.0',
'branch': 'release/5.0.1xx'
},
'5.0':{
'tfm': 'netcoreapp5.0',
'branch': 'release/5.0'
},
'release/3.1.3xx':{
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not related to the goal of this PR, but should we add release/3.1.4xx to the list as well? (we are currently using release/3.1.3xx)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for pointing it out! Yes I think we should replace release/3.1.3xx with release/3.1.4xx now as there's no active development on the former.. will include the change in this PR.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just realized feeds for release/3.1.4xx are internal feeds different for each build so it cannot simply be hard-coded in NuGet.config. We've discussed it before and the possible solution is to query darc (seems to require more credential setup) to get a new feed each time in our pipeline. @billwert @DrewScoggins Do we have any next step regarding this?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ooooolivia FWIW if release/3.1.4xx is problematic we can just keep using the release/3.1.3xx channel. To me, the biggest value of this PR is that it allows me to benchmark 5.0 bits produced from the RC branch, not the 6.0 stuff from master branch.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agreed. let's do as much as we can and sort the 3.1.4 thing out later.

'tfm': 'netcoreapp3.1',
'branch': 'release/3.1.3xx'
Expand Down
7 changes: 4 additions & 3 deletions scripts/dotnet.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ def get_target_framework_moniker(framework: str) -> str:
To run CoreRT benchmarks we need to run the host BDN process as latest
.NET Core the host process will build and run CoreRT benchmarks
'''
return 'netcoreapp5.0' if framework == 'corert' else framework
return ChannelMap.get_target_framework_moniker("master") if framework == 'corert' else framework
ooooolivia marked this conversation as resolved.
Show resolved Hide resolved

@staticmethod
def get_target_framework_monikers(frameworks: list) -> list:
Expand Down Expand Up @@ -519,7 +519,7 @@ def get_dotnet_version(
"{}.{}".format(version.major, version.minor + 1))), None)
if not sdk:
sdk = next((f for f in sdks if f.startswith(
"{}.{}".format('5', '0'))), None)
"{}.{}".format('6', '0'))), None)
if not sdk:
raise RuntimeError(
"Unable to determine the .NET SDK used for {}".format(framework)
Expand Down Expand Up @@ -573,7 +573,8 @@ def get_commit_date(
if repository is None:
# The origin of the repo where the commit belongs to has changed
# between release. Here we attempt to naively guess the repo.
core_sdk_frameworks = ['netcoreapp3.0', 'netcoreapp3.1', 'netcoreapp5.0']
core_sdk_frameworks = ChannelMap.get_supported_frameworks()
core_sdk_frameworks.remove('netcoreapp2.1')
repo = 'core-sdk' if framework in core_sdk_frameworks else 'cli'
url = urlformat % ('dotnet', repo, commit_sha)
else:
Expand Down