Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Created nuget build workflow #312

Merged
merged 11 commits into from
Feb 3, 2025
Merged

Conversation

kitsumed
Copy link
Contributor

@kitsumed kitsumed commented Feb 3, 2025

This pull request closes : #309

What changed:

The configuration of the ATL project (ATL.csproj) has been edited to include symbols file and make builds deterministic. Additionally, the package will now include this repo README file and uses the release note section to show changes. The content of the release note section is taken from the body/content of your published release. The version name is taken from the tag name of your published release. Note that the release section does not support markdown, as a work around we could remove the README file and continue using the README as the release note.

You can see a preview of the results here:
https://int.nugettest.org/packages/z440.atl.core/1.4.10
https://github.com/kitsumed/atldotnet/actions
You can also verify that builds do include symbols and are deterministic by manually downloading the nugettest.org package and selecting it on https://nuget.info/ (Under the File dropdown menu at the top)

What you need to do

The workflow uses a NuGet API key to push the package, that key is stored as a github secret (Repository) under the name NUGET_API_KEY. I would recommend creating a API key with the smallest scope possible, in this case, restricted to only publishing update on the atl package.

Net6.0 reached EOL, netstandard2.1 will still work with Net6.0 so we replace it with active LTS version net 8.0
Make project show a valid source link, include symbols and make build deterministic
This reverts commit f9cc385.
Create nuget_build_release
forgot file extension
Attempt at fixing release note creation
Forgot to enforce deterministic builds on net6.0 after revert.
Enforce embedded pdb and deterministric for every builds
Changed source for production nuget index
@kitsumed kitsumed marked this pull request as ready for review February 3, 2025 18:52
@kitsumed
Copy link
Contributor Author

kitsumed commented Feb 3, 2025

There was also a failed attemp at upgrading the EOL net6.0 to LTS net8.0 but this created a error due to new changes between the versions. Since It concerned the handling of files bytes, I decided to revert to prevent breaking anything.

@Zeugma440
Copy link
Owner

Thanks a bunch! I'll experiment with it and see what it can do.

There was also a failed attemp at upgrading the EOL net6.0 to LTS net8.0 but this created a error due to new changes between the versions. Since It concerned the handling of files bytes, I decided to revert to prevent breaking anything.

Thanks. That's something else entirely. I'd rather decide when to make that jump.

@Zeugma440 Zeugma440 merged commit a2022a2 into Zeugma440:main Feb 3, 2025
1 check failed
@kitsumed kitsumed deleted the nuget-push-workflow branch February 3, 2025 20:32
@kitsumed
Copy link
Contributor Author

kitsumed commented Feb 3, 2025

I just realised I made one small change into the wrong branch so it wasn't added to the pull request. It's mostly cosmetics so it won't cause any real issue, there was a badge added to the readme that redirected to the workflow file to allow easiers access to the build/publish logs

[![Publish to NuGet Gallery](https://github.com/Zeugma440/atldotnet/actions/workflows/nuget_build_release.yml/badge.svg)](https://github.com/Zeugma440/atldotnet/actions/workflows/nuget_build_release.yml)

@Zeugma440
Copy link
Owner

Sounds neat~ You can add it to a new PR; I still have an open issue to work on before next release.

@kitsumed kitsumed mentioned this pull request Feb 5, 2025
@Zeugma440
Copy link
Owner

Awesome. Worked like a charm! Thanks man

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Transparency & Consistency of nuget builds
2 participants