test(hvcs): add unit tests for upload_dists error cases and improve error messages #8
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.
Purpose
Authentication and permission errors in
upload_distswere being caught but not surfaced with actionable details. Users saw generic failure messages without HTTP status codes, making debugging difficult in CI/CD environments.Rationale
The existing error handling caught
HTTPErrorexceptions but only logged generic messages like"failed to upload asset {file} to release {id}". Critical diagnostic information (HTTP status codes) was only in debug logs, not in the raised exception message.Changes
Test Coverage:
Error Message Enhancement:
HTTPError.response.status_code"failed to upload asset dist/pkg.whl to release 123 (HTTP 401)"Responseobject boolean evaluation correctly (evaluates toFalseeven when present)How did you test?
How to Verify
pytest tests/unit/semantic_release/hvcs/test_github.py -vtest_upload_dists_fails_*PR Completion Checklist
Reviewed & followed the Contributor Guidelines
Changes Implemented & Validation pipeline succeeds
Commits follow the Conventional Commits standard
and are separated into the proper commit type and scope (recommended order: test, build, feat/fix, docs)
Appropriate Unit tests added/updated
Appropriate End-to-End tests added/updated
Appropriate Documentation added/updated and syntax validated for sphinx build (see Contributor Guidelines)
Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.