Skip to content

refactor(cd): Test package locally before publishing to NuGet#402

Merged
currantw merged 4 commits into
valkey-io:mainfrom
currantw:currantw/cd-test-before-publish
May 14, 2026
Merged

refactor(cd): Test package locally before publishing to NuGet#402
currantw merged 4 commits into
valkey-io:mainfrom
currantw:currantw/cd-test-before-publish

Conversation

@currantw
Copy link
Copy Markdown
Collaborator

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.yml workflow (no longer needed).

Issue Link

⚪ None

Features and Behaviour Changes

Before: build → publish → test (NuGet artifact) → unlist-if-failed

  • Flaky test failures would unlist an already-published package, burning the version number and requiring manual re-listing.

After: build → test (local artifact) → publish

  • Tests run against the .nupkg artifact via a local NuGet source. Publishing only happens if all tests pass. No version numbers are burned on test failures.

Implementation

  • Moved the test job to depend on build-package-to-publish instead of publish.
  • The test job now always uses package-artifact-name: package (the local .nupkg artifact).
  • Moved publish to depend on test — it only runs after tests pass.
  • Removed the Wait for package to be ready for download step (no longer needed since we test locally).
  • Removed the remove-package-if-validation-fails job (no longer needed since we don't publish before testing).
  • Removed .github/workflows/relist-package.yml (temporary workflow, no longer needed with this fix).

Limitations

  • Tests no longer validate the package as installed from nuget.org. This is considered an acceptable tradeoff since the .nupkg content is identical and it allows us to avoid publishing the package before verifying it.

Testing

⚠️ After merging, need to manually run CD pipeline without publishing.

Related Issues

Checklist

  • This Pull Request is related to one issue.
  • Commit message has a detailed description of what changed and why.
  • Tests are added or updated and all checks pass.
  • CHANGELOG.md, README.md, DEVELOPER.md, and other documentation files are updated.
  • Destination branch is correct - main or release
  • Create merge commit if merging release branch into main, squash otherwise.

currantw added 2 commits May 13, 2026 15:09
Signed-off-by: currantw <taylor.curran@improving.com>
Signed-off-by: currantw <taylor.curran@improving.com>
@currantw currantw self-assigned this May 13, 2026
currantw added 2 commits May 13, 2026 15:46
… into currantw/cd-test-before-publish

Signed-off-by: currantw <taylor.curran@improving.com>
Signed-off-by: currantw <taylor.curran@improving.com>
@currantw currantw requested review from alexr-bq and xShinnRyuu May 13, 2026 22:51
@currantw currantw added ci CI/CD pipelines and GitHub Actions dev Internal changes like cleanup, refactoring, or developer tools. labels May 13, 2026
@currantw currantw merged commit 9d5cded into valkey-io:main May 14, 2026
18 of 19 checks passed
@currantw currantw deleted the currantw/cd-test-before-publish branch May 14, 2026 00:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci CI/CD pipelines and GitHub Actions dev Internal changes like cleanup, refactoring, or developer tools.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants