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

Improve packaging procedures #1097

Merged
merged 1 commit into from
Jun 11, 2023
Merged

Improve packaging procedures #1097

merged 1 commit into from
Jun 11, 2023

Conversation

lahma
Copy link
Collaborator

@lahma lahma commented Jun 11, 2023

fixes #1076

  • add standard Apache-2.0 license expression which will be shown on nuget.org
  • add VersionPrefix so that build artifact will have proper package version instead of default 1.0.0
  • add AllowedOutputExtensionsInPackageBuildOutputFolder to have PDBs like they seem to be on NuGet org package
  • add missing properties that are present in nuget.org package
  • add logos, readme and license into package the say way they are in nuget.org package
  • remove NUKE build project configurations from solution

If you open the package with NuGet Package Explorer from online feed you can see there are couple problems:

image

image

These should be OK if build artifact from GitHub build pipeline is used - it has the flags set. So I believe the current release in NuGet is also unoptimized (Debug build).

@lahma lahma marked this pull request as draft June 11, 2023 06:52
* remove NUKE build project configurations from solution
@lahma
Copy link
Collaborator Author

lahma commented Jun 11, 2023

Now when I download the artifacts from this PRs run summary https://github.com/nissl-lab/npoi/actions/runs/5234208516 artifacts section and open, extract the two files (NPOI.2.6.1.nupkg, NPOI.2.6.1.snupkg) to folder and open with NuGet Package Explorer, all checks are green:

image

So the VersionPrefix determines the version for packaging and these two files should be uploaded to nuget.org for each release (from master branch build). Of course it would be nice to have package version to be determined by Git tag and automatic push to nuget.org like Quartz does, but that's another story.

@lahma lahma marked this pull request as ready for review June 11, 2023 07:51
@lahma lahma changed the title Add PackageLicenseExpression and VersionPrefix to Directory.Build.props Improve packaging procedures Jun 11, 2023
@tonyqus
Copy link
Member

tonyqus commented Jun 11, 2023

LGTM

@tonyqus tonyqus merged commit 1cf1b7d into nissl-lab:master Jun 11, 2023
@tonyqus tonyqus added this to the NPOI 2.6.1 milestone Jun 11, 2023
@lahma lahma deleted the package-flags branch June 11, 2023 10:13
@tonyqus
Copy link
Member

tonyqus commented Jun 17, 2023

I double check the nuget packages generated by artifacts.
image

DLLs for NPOi.OOXML, NPOI.OpenXmlFormats, NPOI.OpenXMLNet are missing in the package.

@lahma
Copy link
Collaborator Author

lahma commented Jun 17, 2023

@tonyqus can you share how you created the NuGet package so I can trace steps how to ensure pipeline produces the same?

@tonyqus
Copy link
Member

tonyqus commented Jun 17, 2023

It's just manual work. I created the nuget package usually by copying from the old version of nuget packages. For example, NPOI 2.6.1.nupkg is copied from NPOI 2.6.0 package. And I remove all the old DLLs from the package and replace them with the new one.

@tonyqus tonyqus added the cicd label Jun 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Debug symbols are not generating properly for nuget package
3 participants