-
Notifications
You must be signed in to change notification settings - Fork 586
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
Further attempts at building with .NET 8 #2852
base: master
Are you sure you want to change the base?
Conversation
Change global.json .NET 6 to 8 Search and replace targetframeworks from fsproj files to add net8.0 Add net8.0 to paket.dependencies dotnet paket install to find .NET8 compatible dependencies Expecto had to be hardcoded for now, because some tests are running on netstandard2.0 library (hopefully we can update this separately later) MSBuild.StructuredLogger problem: DisableInternalBinLog = true had to be added to build.fsx NuGet commands (hopefully we can update this separately later) A few places of code had new overrides so had to explicitly type to strings SdkAssemblyResolver to default .NET 8 as well Readme update GitHub pipeline configs: Add .NET 8 install.
@@ -47,13 +47,19 @@ let tests = | |||
prepare scenario | |||
let scenarioPath = resolvePath scenario "" | |||
// dotnet tool install --version 5.19.0-alpha.local.1 fake-cli --add-source /e/Projects/FAKE/release/dotnetcore/ | |||
|
|||
// Work around https://github.com/dotnet/sdk/issues/40655 by specifying the tool manifest explicitly |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some of tests in previous runs seemed to be failing with dotnet/sdk#40655, whereby installing the dotnet tool in a subdirectory that contains a tools config file will ignore that file and use the one in the repo root, but then trying to use that tool will use the local config file and then fail.
That issue is marked as resolved, but it still seemed to be occuring in the SDK version used by the tests
@@ -843,7 +840,7 @@ Target.create "CacheDotNetReleases" (fun _ -> | |||
|> Async.AwaitTask | |||
|> Async.RunSynchronously | |||
|> List.ofSeq | |||
|> List.find (fun product -> product.ProductVersion.Equals("6.0")) | |||
|> List.find (fun product -> product.ProductVersion.Equals("8.0")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure what the logic for this (or cachedDotnetSdkReleases.json) should be when updating .NET versions.
The current cachedDotnetSdkReleases.json only contains the .NET 6 releases and that seemed to cause test failures when built as .NET 8 and looking for the v8 SDK versions.
Changing this to 8.0 fixed that, but that might then not be right if fake-cli is multi-targetted at .NET 6 and .NET 8 as the .NET 6 version might still need the list of v6 releases?
Test Results 3 files - 6 3 suites - 6 12m 9s ⏱️ - 35m 50s Results for commit 0364d81. ± Comparison against base commit 78a2562. This pull request removes 5 and adds 3 tests. Note that renamed tests count towards both.
|
The remaining failures are in the TemplateIntegrationTests, with errors like
and I'm not sure if this is really a problem with the new stuff, or if it's because it's trying to use the 6.1.3 release to test the templates, and failing when running as .NET 8? (I suppose it shou;dn't be looking at the 6.0 assemblies when running as 8.0) |
Description
As #2818, but updated on top of the latest changes and with a couple of extra commits to try to get more tests passing - see further comments for details