Skip to content

Investigate F# integration into the .NET SDK: figure out what would make it more source-build and smoke-test compatible #2581

@dagood

Description

@dagood

The F# integration into the SDK is not like other components. As of writing, in the stabilized dotnet/installer 6.0.1xx branch, dotnet run on an F# project fails for both the Microsoft build and source-build, because it can't find a 6.0.1 FSharp.Core package. The package doesn't seem to exist anywhere. This can be worked around with some extra args to use a preview package instead:

$ dotnet restore /p:_NETCoreSdkIsPreview=true
$ dotnet run --no-restore /p:_NETCoreSdkIsPreview=true

This behavior makes it difficult to maintain smoke-tests, and the args cast doubt on our ability to actually test the final product that we deliver.

This needs some investigation. I think that at least, we should figure out how to be as sure as possible that we are smoke-testing the right thing. Ideally, F# can be made more source-build friendly overall. (A bonus would be to make it more friendly for Microsoft-built .NET SDK ingestion, too.)

In 6.0, there were some diffs in the FSharp part of the SDK that were concerning, and this ran into our difficulties in smoke-testing F# projects: https://github.com/dagood/source-build/pull/9/files#r736887609.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-testingImprovements in CI and testing

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions