Skip to content

Don't sign F# projects during DotNetBuildSourceOnly.#15380

Merged
ViktorHofer merged 2 commits intodotnet:mainfrom
tmds:fsharp_no_sign
Jan 7, 2025
Merged

Don't sign F# projects during DotNetBuildSourceOnly.#15380
ViktorHofer merged 2 commits intodotnet:mainfrom
tmds:fsharp_no_sign

Conversation

@tmds
Copy link
Copy Markdown
Member

@tmds tmds commented Jan 7, 2025

Workaround for dotnet/fsharp#17451.

@ViktorHofer ptal.

Comment on lines +24 to +30
<!--
Public signing (as performed under DotNetBuildSourceOnly) fails with the F# compiler.
https://github.com/dotnet/fsharp/issues/17451
-->
<PropertyGroup Condition=" '$(DotNetBuildSourceOnly)' == 'true' and '$(MSBuildProjectExtension)' == '.fsproj' ">
<SignAssembly>false</SignAssembly>
</PropertyGroup>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think this needs to be set in Workaround.props as the property is later read here:

<PropertyGroup Condition="'$(SignAssembly)' != 'false'">
<DelaySign>false</DelaySign>
<PublicSign>true</PublicSign>
</PropertyGroup>
<!-- Binaries are delay or public-signed with one of these keys; later, the signing system will finish the strong-name signing. -->
<Choose>
<When Condition="'$(SignAssembly)' == 'false'" />

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Both work for fixing the issue I see in the runtime build. I've moved it to .props.

@ViktorHofer ViktorHofer enabled auto-merge (squash) January 7, 2025 16:16
@ViktorHofer ViktorHofer merged commit b9a2e35 into dotnet:main Jan 7, 2025
@tmds
Copy link
Copy Markdown
Member Author

tmds commented Jan 7, 2025

Thanks for the quick review @ViktorHofer!

@ViktorHofer
Copy link
Copy Markdown
Member

Thanks for the fix @tmds :)

tmds added a commit to tmds/arcade that referenced this pull request Jan 16, 2025
…15380)"

This change aimed to work around an issue in the F# compiler which
doesn't permit public signing when the provided key is a full
public/private key pair.

It unintentionally resulted in the fsharp repository no longer
being compiled with public signing, which causes product issues.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants