-
Notifications
You must be signed in to change notification settings - Fork 80
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
Add Package Signing and Release Staging/Pipeline for NuGet.org #178
Conversation
a5a669d
to
a65b4ee
Compare
Oops, left the if statement on the upload for what would it may look like later which would prevent the test from working... 🤦♂️ |
a65b4ee
to
6736d3d
Compare
Misread how to do the multiple arguments across lines, trying easier syntax. rebased off main now that #173 is merged. Also testing out larger runner now, will see what that does to build times. |
719b845
to
47a5c35
Compare
Yay, signing is working! 🎉🎉🎉 Was working earlier in the day almost on first attempt, was just being dumb as I had it uploading the packages in the build step (as we'll do when finished), but since I wanted to push the signed packages there to validate they were getting skipped as they already existed on the prior push... 🤦♂️ Monday I'll clean-up this PR and it's commits and set things up as we want them in production:
That last bit we're not going to be able to test in the PR, so we'll have to 🤞 that I don't have a typo I guess until we're ready to try the preview/rc or whatever we want to call the NuGet 'preview'. Think we can do that Monday afternoon, will try and rally a quick chat with the team Monday. TODO:
|
239118a
to
17c718f
Compare
Fixed the versioning problem we had by centralizing the date on other stable factors that Was a bit tricky adding the extra build parameter for some reason, but cleaned up and appears to be working back now. Just waiting on CommunityToolkit/Tooling-Windows-Submodule#123, then will update the submodule to main once that's in and upload the final |
Alright, pushed up the final conditional checks for running things only at the desired time... We should be good to see how this goes first in PR, then in main for signing once merged, and then a live test for NuGet will be the scariest, as I don't think we can test that as easily as it's all based off the actual branch names... Hopefully, we won't need changes, and can just create a branch and spawn a workflow. |
db5b40d
to
6661d7c
Compare
Apparently need to explicitly check for |
6661d7c
to
5632da5
Compare
Will this be used to publish a preview at each commit or for something else? |
Yes, any commit to We'll only push to NuGet at specific times though. |
Add some initial outline for next release job (not sure how we want to test this one...)
… and WinUI 3 Jobs
… for pack command
Update Tooling Module Semver regex tested locally
5632da5
to
175edab
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to go, as long as all the secret values are set up in the repo.
Updates our build behavior to the following:
PRs will only be pushed unsigned to the PullRequest feeds
main
merges will get signed and pushed to the MainLatest feedsrel/<major>.<minor>.<date>[-<prereleasetag>]
builds will get signed and pushed to the MainLatest feed, then wait for approval before being pushed to NuGet.orgFor PR/main - the Version date is grabbed from the last commit in the git log, we needed a stable version date as otherwise the UWP and WASDK build times could cause the versions to be different by a day at the UTC rollover time.
For Release builds, the Version date is grabbed from the rel/ branch naming (along with any prerelease tag)
Packages uploaded as artifacts to the feed for main and release builds
Uses new .NET Foundation signing tool
Other changes: