refactor(cd): Test package locally before publishing to NuGet#402
Merged
currantw merged 4 commits intoMay 14, 2026
Conversation
Signed-off-by: currantw <taylor.curran@improving.com>
Signed-off-by: currantw <taylor.curran@improving.com>
… into currantw/cd-test-before-publish Signed-off-by: currantw <taylor.curran@improving.com>
Signed-off-by: currantw <taylor.curran@improving.com>
alexr-bq
approved these changes
May 13, 2026
xShinnRyuu
approved these changes
May 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Reorder the CD pipeline to test the package locally before publishing to NuGet, eliminating the risk of publishing a broken package. Also removes the temporary
relist-package.ymlworkflow (no longer needed).Issue Link
⚪ None
Features and Behaviour Changes
Before:
build → publish → test (NuGet artifact) → unlist-if-failedAfter:
build → test (local artifact) → publish.nupkgartifact via a local NuGet source. Publishing only happens if all tests pass. No version numbers are burned on test failures.Implementation
testjob to depend onbuild-package-to-publishinstead ofpublish.package-artifact-name: package(the local.nupkgartifact).publishto depend ontest— it only runs after tests pass.Wait for package to be ready for downloadstep (no longer needed since we test locally).remove-package-if-validation-failsjob (no longer needed since we don't publish before testing)..github/workflows/relist-package.yml(temporary workflow, no longer needed with this fix).Limitations
.nupkgcontent is identical and it allows us to avoid publishing the package before verifying it.Testing
Related Issues
Checklist
This Pull Request is related to one issue.Tests are added or updated and all checks pass.CHANGELOG.md,README.md,DEVELOPER.md, and other documentation files are updated.mainor releasemain, squash otherwise.