Skip to content

Commit 3e59598

Browse files
colombodbrettfoshyamnamboodiripad
authored
release .NET 8 support (dotnet#3336)
* update dependencies from arcade * update to dotnet 8 * skip csharpproject kernel tests due to different binlog format * skip docker build step * set tool feed to experimental * update arcade sdk (dotnet#2697) * upgrade projects to <TargetFramework>net8.0</TargetFramework> * fix api contract * try multi taget * Update arcade * remove multi targets * Fix new warnings reported from .NET8 SDK. * new projcts * [feature/dotnet8] Fix race in KernelScheduler (dotnet#3222) * Use KernelCommandResult.Events in place of Kernel.Events. * Fix race. * Enable more complete logging for commands and events in tests. * Add a test. * [feature/dotnet8] Fix bug related to resetting of KernelScheduler._currentlyRunningTopLevelOperation (dotnet#3237) Cherry-picked from dotnet#3235. `_currentlyRunningTopLevelOperation` was not being reset in the case where a top-level operation would schedule child operations. In this case, `_currentlyRunningOperation` was correctly being reset when each child operation was completed. However, when the parent operation was completed, we would fail to reset `_currentlyRunningTopLevelOperation` since we were comparing `_currentlyRunningTopLevelOperation` with the value of `_currentlyRunningOperation` (and `_currentlyRunningOperation` would have a value null at this point because it was reset to null when the child operation was completed above). The above bug was breaking parenting (and command token assignment) for subsequent commands. Subsequent commands were being incorrectly parented to the stale value reflected in `_currentlyRunningTopLevelOperation`. And this in turn was leading to hangs. This was an unfortunate regression triggered by the changes in dotnet#3222 that fixed a race condition. The regression happened because were missing tests that exercised the above scenario. I have included some tests for this as part of the current commit. Also add a skipped test for related issue dotnet#3236. * update_sdk (dotnet#3320) * fix * Suppress new warning reported from .NET8 SDK. * these files are no longer needed * address comment * revert change --------- Co-authored-by: Brett V. Forsgren <brettfo@microsoft.com> Co-authored-by: Shyam Namboodiripad <gnamboo@microsoft.com> Co-authored-by: Shyam N <shyamnamboodiripad@users.noreply.github.com>
1 parent 9e3676e commit 3e59598

File tree

107 files changed

+1220
-645
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

107 files changed

+1220
-645
lines changed

.devcontainer/devcontainer.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"args": {
88
// Update 'VARIANT' to pick a .NET Core version: 3.1, 5.0, 6.0
99
// Append -bullseye or -focal to pin to an OS version.
10-
"VARIANT": "7.0",
10+
"VARIANT": "8.0",
1111
// Options
1212
"NODE_VERSION": "16"
1313
}
@@ -16,15 +16,15 @@
1616
"settings": {
1717
"dotnet-interactive.kernelTransportArgs": [
1818
"{dotnet_path}",
19-
"/workspaces/interactive/artifacts/bin/dotnet-interactive/Debug/net7.0/Microsoft.DotNet.Interactive.App.dll",
19+
"/workspaces/interactive/artifacts/bin/dotnet-interactive/Debug/net8.0/Microsoft.DotNet.Interactive.App.dll",
2020
"[vscode]",
2121
"stdio",
2222
"--working-dir",
2323
"{working_dir}"
2424
],
2525
"dotnet-interactive.notebookParserArgs": [
2626
"{dotnet_path}",
27-
"/workspaces/interactive/artifacts/bin/dotnet-interactive/Debug/net7.0/Microsoft.DotNet.Interactive.App.dll",
27+
"/workspaces/interactive/artifacts/bin/dotnet-interactive/Debug/net8.0/Microsoft.DotNet.Interactive.App.dll",
2828
"notebook-parser"
2929
],
3030
"editor.formatOnSave": true,

DEVELOPER-GUIDE.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ If you've made changes to `dotnet-interactive` and want to try them out with Vis
131131
```json
132132
"dotnet-interactive.kernelTransportArgs": [
133133
"{dotnet_path}",
134-
"/PATH/TO/REPO/ROOT/artifacts/bin/dotnet-interactive/Debug/net7.0/Microsoft.DotNet.Interactive.App.dll",
134+
"/PATH/TO/REPO/ROOT/artifacts/bin/dotnet-interactive/Debug/net8.0/Microsoft.DotNet.Interactive.App.dll",
135135
"[vscode]",
136136
"stdio",
137137
"--log-path",
@@ -143,7 +143,7 @@ If you've made changes to `dotnet-interactive` and want to try them out with Vis
143143

144144
"dotnet-interactive.notebookParserArgs": [
145145
"{dotnet_path}",
146-
"/PATH/TO/REPO/ROOT/artifacts/bin/dotnet-interactive/Debug/net7.0/Microsoft.DotNet.Interactive.App.dll",
146+
"/PATH/TO/REPO/ROOT/artifacts/bin/dotnet-interactive/Debug/net8.0/Microsoft.DotNet.Interactive.App.dll",
147147
"notebook-parser",
148148
"--log-path",
149149
"/path/to/a/folder/for/your/parser-logs/",

Directory.Build.props

+15
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,21 @@
2626
<xunitrunnervisualstudioVersion>2.4.5</xunitrunnervisualstudioVersion>
2727
</PropertyGroup>
2828

29+
<!-- Prevent the following warning on .NET 8 SDK by preserving legacy behavior for
30+
transitive dependencies that use distribution-specific runtime identifiers. This can
31+
be removed in the future once we update our NuGet references, and once transitive
32+
dependencies (such as Microsoft.Management.Infrastructure.Runtime.Win below) no longer
33+
use distribution-specific runtime identifiers.
34+
35+
NETSDK1206: Found version-specific or distribution-specific runtime identifier(s):
36+
win10-x64, win10-x86, win7-x64, win7-x86, win81-x64, win81-x86, win8-x64, win8-x86.
37+
Affected libraries: Microsoft.Management.Infrastructure.Runtime.Win. In .NET 8.0 and
38+
higher, assets for version-specific and distribution-specific runtime identifiers will
39+
not be found by default. See https://aka.ms/dotnet/rid-usage for details. -->
40+
<ItemGroup>
41+
<RuntimeHostConfigurationOption Include="System.Runtime.Loader.UseRidGraph" Value="true" />
42+
</ItemGroup>
43+
2944
<PropertyGroup>
3045
<XUnitCoreSettingsFile>$(MSBuildThisFileDirectory)xunit.runner.json</XUnitCoreSettingsFile>
3146
</PropertyGroup>

azure-pipelines.yml

+16-16
Original file line numberDiff line numberDiff line change
@@ -156,14 +156,14 @@ stages:
156156
inputs:
157157
versionSpec: $(NodeJSVersion)
158158

159-
- task: UseDotNet@2
160-
displayName: Use .NET SDK
161-
inputs:
162-
packageType: sdk
163-
useGlobalJson: true
164-
includePreviewVersions: true
165-
workingDirectory: $(Build.SourcesDirectory)
166-
installationPath: $(Agent.ToolsDirectory)/dotnet
159+
# - task: UseDotNet@2
160+
# displayName: Use .NET SDK
161+
# inputs:
162+
# packageType: sdk
163+
# useGlobalJson: true
164+
# includePreviewVersions: true
165+
# workingDirectory: $(Build.SourcesDirectory)
166+
# installationPath: $(Agent.ToolsDirectory)/dotnet
167167

168168
- script: |
169169
robocopy "eng\resources" "$(Build.SourcesDirectory)\artifacts"
@@ -305,14 +305,14 @@ stages:
305305
inputs:
306306
versionSpec: $(NodeJSVersion)
307307

308-
- task: UseDotNet@2
309-
displayName: Use .NET SDK
310-
inputs:
311-
packageType: sdk
312-
useGlobalJson: true
313-
includePreviewVersions: true
314-
workingDirectory: $(Build.SourcesDirectory)
315-
installationPath: $(Agent.ToolsDirectory)/dotnet
308+
# - task: UseDotNet@2
309+
# displayName: Use .NET SDK
310+
# inputs:
311+
# packageType: sdk
312+
# useGlobalJson: true
313+
# includePreviewVersions: true
314+
# workingDirectory: $(Build.SourcesDirectory)
315+
# installationPath: $(Agent.ToolsDirectory)/dotnet
316316

317317
- script: |
318318
mkdir -p "$(Build.SourcesDirectory)/artifacts"

eng/AfterSolutionBuild.targets

+2-2
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@
4343
<ItemGroup>
4444
<SymbolPackageWithBadFiles Include="$(ArtifactsShippingPackagesDir)\Microsoft.dotnet-interactive.*.symbols.nupkg" />
4545

46-
<SymbolPackageFilesToStrip Include="tools/net7.0/any/runtimes/linux-musl-x64/native/libpsl-native.so" />
47-
<SymbolPackageFilesToStrip Include="tools/net7.0/any/runtimes/linux-x64/native/libmi.so" />
46+
<SymbolPackageFilesToStrip Include="tools/net8.0/any/runtimes/linux-musl-x64/native/libpsl-native.so" />
47+
<SymbolPackageFilesToStrip Include="tools/net8.0/any/runtimes/linux-x64/native/libmi.so" />
4848
</ItemGroup>
4949
<PropertyGroup>
5050
<PackageTempPath>$([System.IO.Path]::GetTempPath())/$([System.Guid]::NewGuid())</PackageTempPath>

eng/Version.Details.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
<ProductDependencies>
44
</ProductDependencies>
55
<ToolsetDependencies>
6-
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="7.0.0-beta.23564.5">
6+
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="8.0.0-beta.23461.2">
77
<Uri>https://github.com/dotnet/arcade</Uri>
8-
<Sha>ca53a3149aaedb03e5d79ee0e259d31ac8719290</Sha>
8+
<Sha>4a908c64757841121e67fda7adaf776c93893163</Sha>
99
</Dependency>
1010
</ToolsetDependencies>
1111
</Dependencies>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"RetryCountLimit": 1,
3+
"RetryByAnyError": false
4+
}

eng/common/SetupNugetSources.ps1

+1-1
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ if ($dotnet31Source -ne $null) {
153153
AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal-transport/nuget/v2" -Creds $creds -Username $userName -Password $Password
154154
}
155155

156-
$dotnetVersions = @('5','6','7')
156+
$dotnetVersions = @('5','6','7','8')
157157

158158
foreach ($dotnetVersion in $dotnetVersions) {
159159
$feedPrefix = "dotnet" + $dotnetVersion;

eng/common/SetupNugetSources.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ if [ "$?" == "0" ]; then
105105
PackageSources+=('dotnet3.1-internal-transport')
106106
fi
107107

108-
DotNetVersions=('5' '6' '7')
108+
DotNetVersions=('5' '6' '7' '8')
109109

110110
for DotNetVersion in ${DotNetVersions[@]} ; do
111111
FeedPrefix="dotnet${DotNetVersion}";

eng/common/build.ps1

+1-1
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,8 @@ function Print-Usage() {
6767
Write-Host " -prepareMachine Prepare machine for CI run, clean up processes after build"
6868
Write-Host " -warnAsError <value> Sets warnaserror msbuild parameter ('true' or 'false')"
6969
Write-Host " -msbuildEngine <value> Msbuild engine to use to run build ('dotnet', 'vs', or unspecified)."
70-
Write-Host " -nativeToolsOnMachine Sets the native tools on machine environment variable (indicating that the script should use native tools on machine)"
7170
Write-Host " -excludePrereleaseVS Set to exclude build engines in prerelease versions of Visual Studio"
71+
Write-Host " -nativeToolsOnMachine Sets the native tools on machine environment variable (indicating that the script should use native tools on machine)"
7272
Write-Host ""
7373

7474
Write-Host "Command line arguments not listed above are passed thru to msbuild."

eng/common/cross/arm/sources.list.xenial

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ deb http://ports.ubuntu.com/ubuntu-ports/ xenial-backports main restricted
88
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-backports main restricted
99

1010
deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security main restricted universe multiverse
11-
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security main restricted universe multiverse
11+
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security main restricted universe multiverse

eng/common/cross/arm64/sources.list.xenial

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ deb http://ports.ubuntu.com/ubuntu-ports/ xenial-backports main restricted
88
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-backports main restricted
99

1010
deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security main restricted universe multiverse
11-
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security main restricted universe multiverse
11+
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security main restricted universe multiverse

eng/common/cross/armel/tizen-fetch.sh

-170
This file was deleted.

0 commit comments

Comments
 (0)