Skip to content

chore(deps): update grpcio/protobuf and fix AioRpcError Metadata types - #1087

Open
mangelajo wants to merge 1 commit into
mainfrom
chore/uv-lock-refresh
Open

mangelajo wants to merge 1 commit into
mainfrom
chore/uv-lock-refresh

Conversation

@mangelajo

Copy link
Copy Markdown
Member

Summary

Targeted dependency update for gRPC-related packages and a preventive type fix in shell_test.py.

Changes

Dependency updates (uv.lock)

  • grpcio 1.83.0 → 1.83.1
  • grpcio-reflection 1.74.0 → 1.83.1
  • protobuf 6.31.1 → 7.36.1
  • googleapis-common-protos 1.70.0 → 1.75.3

Type fix (shell_test.py)

  • Pass grpc.aio.Metadata() instead of None for AioRpcError initial_metadata/trailing_metadata parameters.
  • The constructor signature requires Metadata objects; None worked at runtime but fails under stricter type checking (e.g. when the type checker or stubs are upgraded).

Context

Discovered while rebasing #1080 — the uv.lock conflict resolution triggered a full lock regeneration which upgraded transitive deps and surfaced this latent type issue. This PR applies the fix proactively so future lock refreshes don't break CI."

Bump grpcio 1.83.0 → 1.83.1, grpcio-reflection 1.74.0 → 1.83.1,
protobuf 6.31.1 → 7.36.1, googleapis-common-protos 1.70.0 → 1.75.3.

Fix shell_test.py to pass grpc.aio.Metadata() instead of None for
AioRpcError initial_metadata/trailing_metadata parameters. The
constructor requires Metadata objects; passing None worked at runtime
but fails stricter type checking.
@coderabbitai

coderabbitai Bot commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: b3088c5d-8866-41c3-8146-460b901bb969

📥 Commits

Reviewing files that changed from the base of the PR and between 8f6f7e4 and 96f20bd.

⛔ Files ignored due to path filters (1)
  • python/uv.lock is excluded by !**/*.lock
📒 Files selected for processing (1)
  • python/packages/jumpstarter-cli/jumpstarter_cli/shell_test.py

Included review availability: Your plan provides up to 2 included reviews per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The test now passes empty grpc.aio.Metadata() instances when it constructs the simulated AioRpcError.

Changes

RPC test update

Layer / File(s) Summary
AioRpcError metadata setup
python/packages/jumpstarter-cli/jumpstarter_cli/shell_test.py
The unreachable-exporter test passes empty metadata objects for the RPC error’s initial and trailing metadata.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~3 minutes

Change: Other

Suggested reviewers: bennyz

Merge Risk: ⚪ Minimal · up to 96f20

This PR updates dependencies and corrects test metadata construction without introducing an actionable production or test-path risk.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 1 files.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly summarizes both main changes: the gRPC dependency updates and the AioRpcError metadata type fix.
Description check ✅ Passed The description directly explains the dependency updates, the metadata type fix, and the reason for the changes.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/uv-lock-refresh

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

A rabbit checks the RPC trail
Empty metadata fills the sail
The exporter stays out of sight
The test now models errors right
Two little objects, neat and bright

Comment @coderabbitai help to get the list of available commands.

@mangelajo
mangelajo requested a review from raballew September 11, 2026 09:47
@mangelajo mangelajo changed the title chore(deps): update grpcio/protobuf and fix AioRpcError Metadata types chore(deps): update grpcio/protobuf/pydantic and fix AioRpcError Metadata types Sep 11, 2026
@mangelajo mangelajo changed the title chore(deps): update grpcio/protobuf/pydantic and fix AioRpcError Metadata types chore(deps): update grpcio/protobuf and fix AioRpcError Metadata types Sep 11, 2026
mangelajo added a commit that referenced this pull request Sep 15, 2026
- qdl/driver.py: fix import sorting (I001), reduce complexity of
  _prepare_cached_flash and _stream_to_tar by extracting helpers
  (_clear_cache, _try_cache_hit, _collect_source_metadata,
  _flush_tar_buffer)
- qdl/schema.py: fix line too long in _parse_step (E501)
- shell_test.py: pass grpc.aio.Metadata() instead of None for
  AioRpcError initial/trailing_metadata (same fix as PR #1087)
- client/base.py: guard close() against missing 'stack' attribute
  to prevent PytestUnraisableExceptionWarning on Python 3.14 when
  objects are created via object.__new__() in tests

Co-authored-by: Cursor <cursoragent@cursor.com>
mangelajo added a commit that referenced this pull request Sep 15, 2026
- qdl/driver.py: fix import sorting (I001), reduce complexity of
  _prepare_cached_flash and _stream_to_tar by extracting helpers
  (_clear_cache, _try_cache_hit, _collect_source_metadata,
  _flush_tar_buffer)
- qdl/schema.py: fix line too long in _parse_step (E501)
- client/base.py: guard close() against missing 'stack' attribute
  to prevent PytestUnraisableExceptionWarning on Python 3.14 when
  objects are created via object.__new__() in tests

Note: type-check-python failure (shell_test.py AioRpcError Metadata
types) is a pre-existing issue caused by the ty type checker getting
stricter -- not by library changes. PR #1087 addresses this properly.

Co-authored-by: Cursor <cursoragent@cursor.com>
mangelajo added a commit that referenced this pull request Sep 15, 2026
- qdl/driver.py: fix import sorting (I001), reduce complexity of
  _prepare_cached_flash and _stream_to_tar by extracting helpers
  (_clear_cache, _try_cache_hit, _collect_source_metadata,
  _flush_tar_buffer)
- qdl/schema.py: fix line too long in _parse_step (E501)
- client/base.py: guard close() against missing 'stack' attribute
  to prevent PytestUnraisableExceptionWarning on Python 3.14 when
  objects are created via object.__new__() in tests

Note: type-check-python failure (shell_test.py AioRpcError Metadata
types) is a pre-existing issue caused by the ty type checker getting
stricter -- not by library changes. PR #1087 addresses this properly.

Co-authored-by: Cursor <cursoragent@cursor.com>
@mangelajo

Copy link
Copy Markdown
Member Author

thank you!

@mangelajo
mangelajo added this pull request to the merge queue Sep 15, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Sep 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants