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

Build FSharp.Compiler.Service solution in CI #11933

Closed
vzarytovskii opened this issue Aug 9, 2021 · 5 comments
Closed

Build FSharp.Compiler.Service solution in CI #11933

vzarytovskii opened this issue Aug 9, 2021 · 5 comments
Assignees
Labels
Area-FCS Engineering good first issue Impact-Medium (Internal MS Team use only) Describes an issue with moderate impact on existing code.

Comments

@vzarytovskii
Copy link
Member

vzarytovskii commented Aug 9, 2021

Build FSharp.Compiler.Service solution in CI.

Shall we build it with stable SDK as well (and separate global.json)?
@brettfo @KevinRansom I know you have strong opinions about that.
@auduchinok Mentioned that using latest SDKs is a pain when working with service.

@vzarytovskii vzarytovskii added Engineering Area-FCS Impact-Medium (Internal MS Team use only) Describes an issue with moderate impact on existing code. good first issue labels Aug 9, 2021
@vzarytovskii vzarytovskii self-assigned this Aug 9, 2021
@brettfo
Copy link
Member

brettfo commented Aug 9, 2021

I don't think this is something we can reasonably support. As a part of the contract of us being included in the .NET SDK is that we need to support the exact same build mechanism that they do, and that means we have exactly one build entry point, which is build.cmd/build.sh and we also have to use the same last-known-good SDK to bootstrap. We can't support multiple/different SDKs and global.json configurations. Even our partners at Red Hat that do a sourec build of the entire SDK (including F#) need to go through this same path.

The closest scenario we can offer is an existing CI step we call Plain_Build_Linux which first calls the common build entry point of build.sh, but then simply calls dotnet build FSharp.sln. We could add a CI step that first calls build.sh but then calls dotnet build FSharp.Compiler.Service.sln.

@auduchinok
Copy link
Member

@auduchinok Mentioned that using latest SDKs is a pain when working with service.

It was specifically about relying on preview SDKs in FCS solution.

We could add a CI step that first calls build.sh but then calls dotnet build FSharp.Compiler.Service.sln.

Would it be possible to be a separate check/build that would, like you suggest, call build.sh and then build the solution, but it'd use a stable SDK?

@auduchinok
Copy link
Member

@brettfo @vzarytovskii Would it be possible to have a stable SDK version + rollforward in global.json and use the preview one in Arcade/CI?

@vzarytovskii
Copy link
Member Author

@brettfo @vzarytovskii Would it be possible to have a stable SDK version + rollforward in global.json and use the preview one in Arcade/CI?

The problem is that Arcade manages our main global.json.

Let me think of something, I have one solution in mind, need to discuss it with Brett.

@vzarytovskii
Copy link
Member Author

Done in #11963

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-FCS Engineering good first issue Impact-Medium (Internal MS Team use only) Describes an issue with moderate impact on existing code.
Projects
None yet
Development

No branches or pull requests

3 participants