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

Deploy only compressed metadata for dotnet sdk implementation #15230

Merged
merged 9 commits into from
May 24, 2023

Conversation

KevinRansom
Copy link
Member

When we deploy fsharp.core and fsharp.compiler.service to nuget we deploy uncompressed metadata because we need the LTS dotnet sdk to be usable in building apps consuming them. The current LTS does not understand compressed F# metadata.

However, the implementation F# compiler in the latest dotnet SDK understands compressed F# metadata so we don't need to waste those compressable bytes.

With this PR ... the dotnet SDK should be almost 3 MBytes smaller on disk and in VM, which has to be a good thing.

@KevinRansom KevinRansom requested a review from a team as a code owner May 17, 2023 21:29
@vzarytovskii
Copy link
Member

What concerns me is that people update fsharp.core quite often without updating sdk, which may result in either cryptic errors or undefined behavior.

@KevinRansom
Copy link
Member Author

KevinRansom commented May 17, 2023

What concerns me is that people update fsharp.core quite often without updating sdk, which may result in either cryptic errors or undefined behavior.

@vzarytovskii the nuget package that we embed in the sdk FSharp\library-packs folder and ship to nuget still has uncompressed metadata.

This change only impacts the files that form the compiler implementation.

@vzarytovskii
Copy link
Member

What concerns me is that people update fsharp.core quite often without updating sdk, which may result in either cryptic errors or undefined behavior.

@vzarytovskii the nuget package that we embed in the sdk FSharp\library-packs folder and ship to nuget still has uncompressed metadata.

This change only impacts the files that form the compiler implementation.

OH, got it now

Copy link
Member

@T-Gro T-Gro left a comment

Choose a reason for hiding this comment

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

Is the new separate Configuration a mechanism of isolation, or does it do anything special?
I can see the CompressAllMetadata=true doing the real work, is ReleaseCompressed there to ensure it has its own dedicated artefacts subfolder?

@KevinRansom
Copy link
Member Author

Is the new separate Configuration a mechanism of isolation, or does it do anything special? I can see the CompressAllMetadata=true doing the real work, is ReleaseCompressed there to ensure it has its own dedicated artefacts subfolder?
Yes, quite so, it needs it's own folder, with it's separate bits.

@KevinRansom
Copy link
Member Author

KevinRansom commented May 18, 2023

Although, I should check that the options are the correct ones matching release.

Checked, it builds the bits with the correct switches.

@psfinaki
Copy link
Member

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 2 pipeline(s).

@KevinRansom KevinRansom self-assigned this May 24, 2023
@KevinRansom KevinRansom enabled auto-merge (squash) May 24, 2023 17:12
@KevinRansom KevinRansom merged commit 0d81a05 into dotnet:main May 24, 2023
vzarytovskii added a commit that referenced this pull request May 31, 2023
* LexFilter: cleanup whitespaces (#15250)

* Parser: rewrite tuple expr recovery to allow better items recovery (#15227)

* Checker: recover on unknown record fields (#15214)

* Make anycpu work correctly on Arm64 (#15234)

* Makeanuycpu work correctly on arm64

* Update Microsoft.FSharp.Targets

* Fix15254 (#15257)

* Deploy only compressed metadata for dotnet sdk implementation (#15230)

* compress fsharp for sdk

* Update FSharp.DependencyManager.Nuget.fsproj

* Parser: more binary expressions recovery (#15255)

* Use background CancellableTask in VS instead of async & asyncMaybe (#15187)

* wip

* iteration

* iteration: quickinfo, help context

* fantomas

* todo

* moved tasks to editor project, fixed comment colouring bug

* fantomas

* Fantomas + PR feedback

* Update vsintegration/src/FSharp.Editor/Hints/HintService.fs

Co-authored-by: Andrii Chebukin <[email protected]>

* Revert "Update vsintegration/src/FSharp.Editor/Hints/HintService.fs"

This reverts commit bf51b31.

---------

Co-authored-by: Andrii Chebukin <[email protected]>

* Name resolution: actually add reported item when trying to replace (#14772)

Co-authored-by: Tomas Grosup <[email protected]>

* Move flatErrors tests from fsharpqa (#15251)

* temp

* tests

* flaterrors

* update tests

* preserve ranges in result of UnsolvedTyparsOfModuleDef to help with warnings (#15243)

* preserve ranges in result of UnsolvedTyparsOfModuleDef to help with warnings

* use fallback range only for range0

* pattern match instead of Option.isSome

* Add test

* Revert "Add test"

This reverts commit e05e808.

* Make `FSharpReferencedProject` representation public (#15266)

* Make FSharpReferencedProject representation public

* Update surface area

* Fantomas

* Fantomas

---------

Co-authored-by: Tomas Grosup <[email protected]>

* Fix navigation for external enums, DUs and name resultion for members (#15270)

* Update FSharp.Compiler.Service.SurfaceArea.netstandard20.debug.bsl

* Add warning when compiler selects among multiple record type candidates, fslang-suggestion 1091 (#15256)

* Protect assembly exploration for C# extension members (#15271)

* Compute ValInline.Never for externs (#15274)

* Compute ValInline.Never for externs

---------

Co-authored-by: Eugene Auduchinok <[email protected]>
Co-authored-by: Kevin Ransom (msft) <[email protected]>
Co-authored-by: Vlad Zarytovskii <[email protected]>
Co-authored-by: Andrii Chebukin <[email protected]>
Co-authored-by: Tomas Grosup <[email protected]>
Co-authored-by: dawe <[email protected]>
@KevinRansom KevinRansom deleted the nosigoptdata branch March 21, 2024 22:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

5 participants