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

Missing Symbols for Elsa 2.11.0 on nuget.org #3820

Closed
holidayfun opened this issue Mar 22, 2023 · 6 comments · Fixed by #3824
Closed

Missing Symbols for Elsa 2.11.0 on nuget.org #3820

holidayfun opened this issue Mar 22, 2023 · 6 comments · Fixed by #3824

Comments

@holidayfun
Copy link

Summary

There are currently no symbol packages available on nuget.org, even though they should be published by the Build and Publish Elsa Packages action.

Explanation

I've noticed that debugging the most recent version of Elsa using the Nuget symbol server is not possible. When the feedz.io symbol server is added in VS, stepping into Elsa code works as expected.

I've then looked into the actions for Elsa 2.11.0 and noticed the "Publish to Nuget" step failed due to the following:

error: Response status code does not indicate success: 409 (A package with ID 'Elsa' and version '2.11.0' already exists and cannot be modified.)

So i guess the packages were previously published (by hand?) without the symbol packages. Personally i think the packages should be published by the github action only, but if manually published, can we at least publish the symbol packages as well?

Notes

You can tell if the symbol packages are available on nuget.org, e.g. for another project the following info is available (see the Download symbols link).

grafik

@sfmskywalker
Copy link
Member

Hi @holidayfun , indeed for this release I uploaded the packages manually via the CLI. I also pushed the symbols package, but NuGet reported it could not validate the symbols packages. I have yet to look into that issue, but if you have any suggestions I'd be happy to hear them. If you want, I can share the packages + symbols if you want to take a look.

@holidayfun
Copy link
Author

Do you know the error message you got from nuget by any chance?

@sfmskywalker
Copy link
Member

Yes, this is the email notification I received for one of the packages:

The symbol package [Elsa.WorkflowSettings.Persistence.EntityFramework.SqlServer 2.11.0](https://www.nuget.org/packages/Elsa.WorkflowSettings.Persistence.EntityFramework.SqlServer/2.11.0) failed validation because of the following reason(s):

The checksum does not match for the dll(s) and corresponding pdb(s).
Your symbol package was not published on NuGet Gallery and is not available for consumption.

You can reupload your symbol package once you've fixed the issue with it.

That's all the details I received.

@holidayfun
Copy link
Author

I've taken a quick look into it and i think i found the culprit.

According to jbevain/cecil#610 Cecil does not generate a PdbChecksum entry in the assembly. And Fody uses Cecil.

I tried packing and uploading the Elsa.Core package (with another package id) as is and could reproduce the error you mentioned:
grafik

To confirm my theory i removed the <Import Project="..\..\..\configureawait.props" /> entry from the project file and retried uploading to nuget, this time successfully publishing the symbol package.

grafik

So as far as i can tell, publishing symbol packages to nuget will continue to fail due to the processing with Fody and the validation of symbol packages.

@holidayfun
Copy link
Author

holidayfun commented Mar 22, 2023

I've looked into it again and found that jbevain/cecil#810 should have fixed this behavior.

The current version of Fody used is 6.6.0, which does not include the fix above.

I've tried updating to the most recent version of Fody 6.6.4 and was able to successfully publish the symbol packages to nuget.

@sfmskywalker
Copy link
Member

That’s amazing, thank you @holidayfun !

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 a pull request may close this issue.

2 participants