Skip to content

chore(deps): pin nodedb-client/types to the NodeDB git repo by rev - #6

Open
laksamanakeris wants to merge 1 commit into
mainfrom
chore/pin-nodedb-git-rev
Open

chore(deps): pin nodedb-client/types to the NodeDB git repo by rev#6
laksamanakeris wants to merge 1 commit into
mainfrom
chore/pin-nodedb-git-rev

Conversation

@laksamanakeris

Copy link
Copy Markdown
Collaborator

Moves nodedb-client / nodedb-types from crates.io 0.4.0 to the NodeDB-Lab/nodedb git repo, pinned by commit.

Why

The published crates sit at 0.4.0 while the repo head is at 0.5.0, hundreds of commits apart. That gap includes the change that makes typed error classification reach the client: at 0.4.0 every server-returned error arrives as a generic internal error with is_retriable() == false, so a database client cannot tell a typo from an outage and can never offer a retry. Waiting on a crates.io publish blocks that; pinning the repo does not.

Mechanics

  • Pinned to fda34193, the repo head at the time of writing. Both crates pin the same commit, never a branch, so every CI run builds identical upstream code.
  • The repo is public, so CI fetches it without credentials.
  • The client's native feature stays off. The seam makes no client calls yet, and that feature pulls in a TLS and C-toolchain build tree (tokio-rustls, aws-lc-rs, cmake); the cost should land with the change that needs it.
  • Transitively, zerompk moves from crates.io 0.6 to the git rev the client depends on.

No source changes

Only services/error.rs touches client types, and it compiles unchanged against the new rev.

AGENTS.md's setup section is rewritten to match: the previous text said the crates were unpublished and required a local path patch, which is no longer the default path. The local-patch override stays documented, keyed on the git source.

Verification

cargo fmt --all --check                                                # clean
cargo clippy --workspace --all-targets --all-features -- -D warnings   # clean
cargo nextest run                                                      # 60 passed, 0 skipped

Resolved with no .cargo/config.toml present, i.e. exactly as CI will resolve it.

Relationship to #5

Independent. This branches from main; #5 is the seam work and does not depend on the client version. Either can merge first. If #5 merges first, this rebases cleanly (it touches only Cargo.toml, Cargo.lock, AGENTS.md).

The published crates sit at 0.4.0 while the repo head is at 0.5.0 with
hundreds of commits between them, including the fix that makes typed
error classification reach the client instead of every server error
arriving as a generic internal error. Waiting on a crates.io publish
blocks that; pinning the repo does not.

Pinned to fda34193, the repo head at the time of writing. Both crates pin
the same commit, never a branch, so every CI run builds the same upstream
code. The repo is public, so CI fetches it without credentials. The
client's native feature stays off: the seam makes no client calls yet, and
that feature pulls in a TLS and C-toolchain build tree that should land
with the change that needs it.

No source changes. Only services/error.rs touches client types, and it
compiles unchanged. Transitively this moves zerompk from crates.io 0.6 to
the git rev the client depends on.

AGENTS.md setup section rewritten to match: the old text said the crates
were unpublished and required a local patch, which is no longer the
default path. The local-patch override stays documented, keyed on the git
source rather than crates.io.
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.

1 participant