Repository navigation
deps: batch the pending Dependabot bumps - #569
Merged
Merged
Conversation
Take serde_json 1.0.154, sha2 0.11.1, tokio 1.53.3, etcd-client 0.21.1, pyo3 0.30.1, and actions/create-github-app-token 3.3.0 together, with the build fixes two of them need. etcd-client 0.21 compiles proto3 files that use `optional` fields and import the protobuf well-known types. AlmaLinux 8's protoc 3.5 in the manylinux builds rejects both, and the Docker image installed Debian's protoc without the well-known `.proto` files. Both manylinux builds now install the official protoc 36.2 release, checked against a pinned SHA-256, and the image adds libprotobuf-dev. pyo3 0.30 makes `skip_from_py_object` the default and deprecates the option, which the deny-warnings build refused; the two pyclasses drop it. Supersedes #537, #538, #539, #540, #541, and #542. Signed-off-by: wchwawa <wch19961116@gmail.com>
This was referenced Oct 23, 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.
TLDR
Six Dependabot updates were open, and two of them could not merge on their own. etcd-client 0.21 broke the Linux wheel and Docker image builds, and pyo3 0.30 failed the deny-warnings build. This PR takes all six together with the build fixes they need.
Problem
This is a dependency chore, so it has no issue; the template exempts dependency chores. It supersedes #537, #538, #539, #540, #541, and #542, which I will close once this merges.
mainrequires an up-to-date branch and eight passing checks, so merging them one at a time would cost a rebase and a full CI run each.Two of the updates also fail by themselves:
optionalfields and import the protobuf well-known types. The manylinux build installs AlmaLinux 8's protoc 3.5, which rejects both. The Docker image installs Debian'sprotobuf-compilerwithout the well-known.protofiles.#[pyclass(skip_from_py_object)]the default and deprecates the option. The workspace denies warnings.Consequences
Taking etcd-client 0.21 without the build fixes would break the required
manylinux wheel builds and installscheck, the Python SDK release workflow, and the Docker image. Leaving the updates open keeps six stale PRs in the queue, and each newmaincommit makes them rebase again.Example
Before: the wheel job of #542 stops with "Explicit 'optional' labels are disallowed in the Proto3 syntax" and "google/protobuf/descriptor.proto: File not found".
After: the wheel build installs protoc 36.2 and compiles etcd-client 0.21.1.
Solution
skip_from_py_object, whose behavior is now the defaultBoth manylinux builds, the PR gate and the release, now download the official protoc 36.2 release and check it against a pinned SHA-256. They no longer install AlmaLinux 8's package, which also drops the EPEL mirror that failed the wheel job of #537. The Docker image adds
libprotobuf-dev, which ships the well-known.protofiles for Debian's protoc 3.21.Gain
maintakes six pending updates in one CI run. The wheel builds no longer depend on the distribution's protoc version or on the EPEL mirror.Tradeoffs
The wheel builds download protoc from GitHub releases. Because the version and checksums are pinned, a protoc upgrade edits two workflows. opendal (#530 and #536) is not included, because it needs a code migration; it lands separately.
Validation
cargo fmt --all -- --checkis clean andcargo clippy --locked --workspace --all-targets -- -D warningspasses, so no pyo3 0.30 deprecation is left.cargo test --locked -p nokv-control -p nokv-python: 82 passed, 0 failed, 10 ignored. The ignored tests need a live etcd or object store.protoc-36.2-linux-x86_64.zipmatches the SHA-256 in the workflows and containsbin/protocplus the 19 well-known.protofiles, including thedescriptor.protoandstruct.protothat etcd-client 0.21 imports.python3 scripts/ci/pr_description.py --pull-request-jsonon this title and body passes.