Skip to content

deps(deps): bump the minor-and-patch group across 1 directory with 11 updates - #828

Merged
inureyes merged 1 commit into
mainfrom
dependabot/cargo/minor-and-patch-cd34b036a0
Jul 20, 2026
Merged

inureyes merged 1 commit into
mainfrom
dependabot/cargo/minor-and-patch-cd34b036a0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 20, 2026 •

Copy link
Copy Markdown
Contributor

Bumps the minor-and-patch group with 10 updates in the / directory:

Package From To
serde 1.0.228 1.0.229
anyhow 1.0.103 1.0.104
thiserror 2.0.18 2.0.19
clap 4.6.1 4.6.2
tokio 1.52.3 1.53.0
futures 0.3.32 0.3.33
uuid 1.23.5 1.24.0
cxx 1.0.197 1.0.198
globset 0.4.18 0.4.19
cc 1.2.67 1.3.0

Updates serde from 1.0.228 to 1.0.229

Release notes

Sourced from serde's releases.

v1.0.229

  • Update to syn 3
Commits
  • 7fc3b4c Release 1.0.229
  • 6d6e9a1 Merge pull request #3085 from dtolnay/syn3
  • 6dec3b7 Update to syn 3
  • cfe6692 Resolve mut_mut pedantic clippy lint
  • 1023d07 Update actions/upload-artifact@v6 -> v7
  • dd682c2 Update actions/checkout@v6 -> v7
  • 5f0f18b Update ui test suite to nightly-2026-06-01
  • 63a1498 Regenerate stderr with trybuild normalization fixes
  • fa7da4a Fix unused_features warning
  • 6b1a178 Unpin CI miri toolchain
  • Additional commits viewable in compare view

Updates anyhow from 1.0.103 to 1.0.104

Release notes

Sourced from anyhow's releases.

1.0.104

  • Update syn dev-dependency to version 3
Commits

Updates thiserror from 2.0.18 to 2.0.19

Release notes

Sourced from thiserror's releases.

2.0.19

  • Update to syn 3
Commits
  • e13a785 Release 2.0.19
  • 0a0e76c Update to syn 3
  • ec42ea7 Update actions/upload-artifact@v6 -> v7
  • 4178c4a Update actions/checkout@v6 -> v7
  • 7214e0e Ignore items_after_statements pedantic clippy lint in test
  • febcc03 Merge pull request #451 from vip892766gma/maint/20260521171412
  • c50e387 chore: improve thiserror maintenance path
  • d4a2507 Raise minimum tested compiler to rust 1.85
  • 99e8a6c Unpin CI miri toolchain
  • 9ac165c Pin CI miri to nightly-2026-02-11
  • Additional commits viewable in compare view

Updates clap from 4.6.1 to 4.6.2

Release notes

Sourced from clap's releases.

v4.6.2

[4.6.2] - 2026-07-15

Fixes

  • (help) Say alias when there is only one
Changelog

Sourced from clap's changelog.

[4.6.2] - 2026-07-15

Fixes

  • (help) Say alias when there is only one
Commits
  • 0fe0be3 chore: Release
  • 480af9d docs: Update changelog
  • 2b3ddd0 Merge pull request #6340 from liskin/fix-completion-escape
  • 7ffe739 fix(complete): Do not suggest options after "--"
  • d47fc4f test(complete): Options suggested after escape (--)
  • See full diff in compare view

Updates tokio from 1.52.3 to 1.53.0

Release notes

Sourced from tokio's releases.

Tokio v1.53.0

1.53.0 (July 17th, 2026)

Added

  • fs: implement From<OwnedFd> and From<OwnedHandle> for File (#8266)
  • metrics: add task schedule latency metric (#7986)
  • net: add SocketAddr methods to Unix sockets (#8144)

Changed

  • io: add #[inline] to IO trait impls for in-memory types (#8242)
  • net: implement UCred::pid on FreeBSD (#8086)
  • net: support Nuttx target os (#8259)
  • signal: refactor global variables on Windows (#8231)
  • sync: mpsc::{Receiver,UnboundedReceiver} now drops waker on drop, even if there are still senders (#8095)
  • taskdump: support taskdumps on s390x (#8192)
  • time: add #[track_caller] to timeout_at() (#8077)
  • time: consolidate mutex locks on spurious poll (#8124)
  • time: defer waker clone on spurious poll (#8107)
  • time: move lazy-registration state into Sleep (#8132)
  • tracing: remove unnecessary span clone (#8126)

Fixed

  • io: do not treat zero-length reads as EOF in Chain (#8251)
  • net: use getpeereid for QNX peer credentials (#8270)
  • runtime: avoid illegal state in FastRand (#8078)
  • sync: wake mpsc receiver when a queued reserve[_many] returns permits (#8260)
  • taskdump: skip double wake on Trace::capture/Trace::trace_with (#8043)
  • time: avoid stack overflow in runtime constructor (#8093)
  • time (alt timer): ensure timers stay in the same runtime after .reset() (#8169)

IO uring (unstable)

  • fs: use io-uring for fs::try_exists (#8080)
  • fs: use io-uring for renaming files (#7800)
  • rt: flush io-uring CQE in case of CQE overflow (#8277)

Documented

  • docs: clarify cancel safety wording (#8181)
  • fs: clarify create_dir_all succeeds if path exists (#8149)
  • io: add warning about stdout reordering with multiple handles (#8276)
  • net: document pipe try_read*/try_write* readiness behavior (#8032)
  • runtime: document interaction with fork() (#8202)
  • sync: clarify broadcast lagging semantics (#8239)
  • sync: document memory ordering guarantees for Semaphore (#8119)
  • task: explain why yield_now defers its waker (#8254)
  • time: add panic docs to timeout_at() (#8077)

... (truncated)

Commits

Updates futures from 0.3.32 to 0.3.33

Release notes

Sourced from futures's releases.

0.3.33

  • Fix ReadLine's soundness issue regarding to exception safety. (#3020)
  • Fix unsound Send impl for IterPinRef and Iter. (#3003)
  • Fix stacked borrows violation in compat01as03 implementation. (#3012)
  • Fix memory leak in FuturesUnordered::IntoIter. (#3005)
  • Add portable-atomic-alloc feature and use it in FuturesUnordered. (#3007)
  • Re-export alloc::task::Wake. (#3010)
  • Update spin to 0.12. (#3014)
Changelog

Sourced from futures's changelog.

0.3.33 - 2026-07-18

  • Fix ReadLine's soundness issue regarding to exception safety. (#3020)
  • Fix unsound Send impl for IterPinRef and Iter. (#3003)
  • Fix stacked borrows violation in compat01as03 implementation. (#3012)
  • Fix memory leak in FuturesUnordered::IntoIter. (#3005)
  • Add portable-atomic-alloc feature and use it in FuturesUnordered. (#3007)
  • Re-export alloc::task::Wake. (#3010)
  • Update spin to 0.12. (#3014)
Commits
  • 89cc254 Release 0.3.33
  • cd9f5be ci: Update release workflow
  • d79a499 Resolve rustdoc::broken_intra_doc_links warning
  • 95bbcf8 Resolve rustdoc ambiguous link error
  • 303c165 Resolve rustdoc::redundant_explicit_links warning
  • f34e3f5 ci: Cleanup
  • 66591a2 Enable Miri for more tests
  • ab1072f Simplify target_has_atomic cfg in utility crates
  • cf5d23b Fix unsound compat01as03 implementation (fixes #2514) (#3012)
  • 8ae794f Add portable-atomic-alloc feature and use it in FuturesUnordered (#3007)
  • Additional commits viewable in compare view

Updates uuid from 1.23.5 to 1.24.0

Release notes

Sourced from uuid's releases.

v1.24.0

What's Changed

New Contributors

Full Changelog: uuid-rs/uuid@v1.23.5...v1.24.0

Commits
  • 6a8aeab Merge pull request #896 from uuid-rs/cargo/v1.24.0
  • e6db8ec prepare for 1.24.0 release
  • 606f236 Merge pull request #892 from weifanglab/main
  • ab848db feat(fmt): support encoding into MaybeUninit buffers
  • 6fa1a1e feat(fmt): support encoding into MaybeUninit buffers
  • See full diff in compare view

Updates cxx from 1.0.197 to 1.0.198

Release notes

Sourced from cxx's releases.

1.0.198

  • Update to syn 3
Commits

Updates cxx-build from 1.0.197 to 1.0.198

Release notes

Sourced from cxx-build's releases.

1.0.198

  • Update to syn 3
Commits

Updates globset from 0.4.18 to 0.4.19

Commits
  • 28c687d globset-0.4.19
  • f03c67e changelog: 15.2.0
  • 324f7ef ignore-0.4.28
  • 241b87b ignore: support GIT_CONFIG_GLOBAL and GIT_CONFIG_SYSTEM for `core.exclude...
  • b6849da ignore/walk: add WalkBuilder::empty and WalkBuilder::from_iter
  • 8bca2eb doc: fix typo in man page
  • 61a9fd8 doc: fix typo
  • e7b0f89 lint: use cloned() or copied() when we can
  • 767086d searcher: hint at sequential memory map reading
  • 9548e86 ignore/types: add PKGBUILD type
  • Additional commits viewable in compare view

Updates cc from 1.2.67 to 1.3.0

Release notes

Sourced from cc's releases.

cc-v1.3.0

Added

  • inherit path remap rules from cargo trim-paths (#1794)
Changelog

Sourced from cc's changelog.

1.3.0 - 2026-07-18

Added

  • inherit path remap rules from cargo trim-paths (#1794)
Commits

@dependabot dependabot Bot added the type:dependency Dependency updates label Jul 20, 2026
… updates

Bumps the minor-and-patch group with 10 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [serde](https://github.com/serde-rs/serde) | `1.0.228` | `1.0.229` |
| [anyhow](https://github.com/dtolnay/anyhow) | `1.0.103` | `1.0.104` |
| [thiserror](https://github.com/dtolnay/thiserror) | `2.0.18` | `2.0.19` |
| [clap](https://github.com/clap-rs/clap) | `4.6.1` | `4.6.2` |
| [tokio](https://github.com/tokio-rs/tokio) | `1.52.3` | `1.53.0` |
| [futures](https://github.com/rust-lang/futures-rs) | `0.3.32` | `0.3.33` |
| [uuid](https://github.com/uuid-rs/uuid) | `1.23.5` | `1.24.0` |
| [cxx](https://github.com/dtolnay/cxx) | `1.0.197` | `1.0.198` |
| [globset](https://github.com/BurntSushi/ripgrep) | `0.4.18` | `0.4.19` |
| [cc](https://github.com/rust-lang/cc-rs) | `1.2.67` | `1.3.0` |



Updates `serde` from 1.0.228 to 1.0.229
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](serde-rs/serde@v1.0.228...v1.0.229)

Updates `anyhow` from 1.0.103 to 1.0.104
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](dtolnay/anyhow@1.0.103...1.0.104)

Updates `thiserror` from 2.0.18 to 2.0.19
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](dtolnay/thiserror@2.0.18...2.0.19)

Updates `clap` from 4.6.1 to 4.6.2
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](clap-rs/clap@clap_complete-v4.6.1...clap_complete-v4.6.2)

Updates `tokio` from 1.52.3 to 1.53.0
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](tokio-rs/tokio@tokio-1.52.3...tokio-1.53.0)

Updates `futures` from 0.3.32 to 0.3.33
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/main/CHANGELOG.md)
- [Commits](rust-lang/futures-rs@0.3.32...0.3.33)

Updates `uuid` from 1.23.5 to 1.24.0
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](uuid-rs/uuid@v1.23.5...v1.24.0)

Updates `cxx` from 1.0.197 to 1.0.198
- [Release notes](https://github.com/dtolnay/cxx/releases)
- [Commits](dtolnay/cxx@1.0.197...1.0.198)

Updates `cxx-build` from 1.0.197 to 1.0.198
- [Release notes](https://github.com/dtolnay/cxx/releases)
- [Commits](dtolnay/cxx@1.0.197...1.0.198)

Updates `globset` from 0.4.18 to 0.4.19
- [Release notes](https://github.com/BurntSushi/ripgrep/releases)
- [Changelog](https://github.com/BurntSushi/ripgrep/blob/master/CHANGELOG.md)
- [Commits](BurntSushi/ripgrep@globset-0.4.18...globset-0.4.19)

Updates `cc` from 1.2.67 to 1.3.0
- [Release notes](https://github.com/rust-lang/cc-rs/releases)
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md)
- [Commits](rust-lang/cc-rs@cc-v1.2.67...cc-v1.3.0)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-version: 1.0.104
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: cc
  dependency-version: 1.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: clap
  dependency-version: 4.6.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: cxx
  dependency-version: 1.0.198
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: cxx-build
  dependency-version: 1.0.198
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: futures
  dependency-version: 0.3.33
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: globset
  dependency-version: 0.4.19
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: serde
  dependency-version: 1.0.229
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: thiserror
  dependency-version: 2.0.19
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: tokio
  dependency-version: 1.53.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: uuid
  dependency-version: 1.24.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot changed the title deps(deps): bump the minor-and-patch group with 11 updates deps(deps): bump the minor-and-patch group across 1 directory with 11 updates Jul 20, 2026
@dependabot
dependabot Bot force-pushed the dependabot/cargo/minor-and-patch-cd34b036a0 branch from 066c1b2 to 22b0b9c Compare July 20, 2026 05:11
@inureyes
inureyes merged commit 3ccb693 into main Jul 20, 2026
5 checks passed
@inureyes inureyes self-assigned this Jul 20, 2026
@dependabot
dependabot Bot deleted the dependabot/cargo/minor-and-patch-cd34b036a0 branch July 20, 2026 05:31
inureyes added a commit that referenced this pull request Aug 2, 2026
)

* fix(tests): honor CARGO_TARGET_DIR and clap's singular alias label

The nightly `make verify` job has been red on `main` because of two independent defects in the integration test suite, both surfacing in `tests/cli_help_consistency.rs`.

`repo_binary_path` in `tests/common/mod.rs` reconstructed the binary location as `CARGO_MANIFEST_DIR/target/<profile>/<name>`, which is wrong whenever `CARGO_TARGET_DIR` is set. Both `nightly-verify.yml` and `release.yml` set it to `$HOME/.cargo-target/mlxcel` so the self-hosted runner keeps a warm build cache outside the checkout, so cargo built the binaries there while the tests looked for them in the workspace. Every test in the file failed on CI with `No such file or directory` while passing locally, and the helper is shared by 12 other integration test files. It now prefers the compile-time `CARGO_BIN_EXE_<name>` path cargo hands every integration test target, which already accounts for the profile, the target triple, and `CARGO_TARGET_DIR`, then falls back to a `current_exe()`-derived profile directory for binaries it does not name by hand, then to the previous reconstruction. The existing `if !binary.exists()` skip guards in the real-model tests keep working because the helper still returns a path unconditionally; the new `binary_resolution_report` lists every candidate and whether it exists, and the two spawn sites in the help test fold it into their panic so the next occurrence is diagnosable from the panic alone.

`drafter_flag_aliases_are_documented_on_both_binaries` asserted on the literal `[aliases: X]`. `clap_builder` 4.6.2 introduced a `pluralize` call in its help template that renders `[alias: X]` for exactly one visible alias, and each of the four flags carries exactly one, so all four assertions broke on a dependency bump (`3ccb693a3`, #828) rather than a code change. All four aliases are still declared and still documented, so the fix belongs in the assertion, not in the CLI. It now locates the flag's own help entry, parses the alias names out of whatever alias annotation clap rendered, and matches on the name. Accepting either label keeps the assertion working across clap's singular/plural rendering and across a future second alias; scoping it to one entry and requiring a real annotation keeps it from being satisfied by prose, which matters because `--draft-model`'s description names `--model-draft` in its own text.

Three tests cover the new assertion: a prose-only entry must not count as documented, the entry slicer must not spill into the neighbouring flag, and cutting the rendered annotation out of the live `mlxcel serve --help` must leave the alias undocumented.

Validated with `cargo test --release --features metal,accelerate --test cli_help_consistency` (14 passed), the same command with `CARGO_TARGET_DIR` pointed at a directory outside the checkout, `cargo clippy --release --all-targets --features metal,accelerate -- -D warnings`, and `cargo fmt --all -- --check`. Rebuilding the CLI with `visible_alias = "model-draft"` removed turns the test red as intended, so the #464 contract is still pinned.

Refs #962

* fix(tests): tighten binary resolution and alias-entry matching

Review hardening on top of the previous commit. Both halves had ways to be silently wrong that the passing tests did not expose.

Binary resolution now consults only signals cargo itself produces. The runtime `CARGO_BIN_EXE_*` lookup is gone: cargo never sets it at test runtime, so it was dead code, and keeping it as an override hook would let a stale exported value beat the binary cargo just built, which is the same shape as the bug this ordering exists to fix. The `<manifest>/target/<profile>/<name>` reconstruction is gone too: besides being wrong under `CARGO_TARGET_DIR`, it cannot know the target triple under `--target`, and its `cfg!(debug_assertions)` profile guess is wrong for a custom profile such as `--profile test-fast`, so it could hand back a stale binary from an unrelated build. What remains is the compile-time `CARGO_BIN_EXE_*` path and a `current_exe()`-derived profile directory that now verifies its parent really is `deps` rather than assuming the layout, so a test binary running from a copied location cannot spawn an unrelated sibling that happens to share the name. `resolve_repo_binary` returns the path and the diagnostic report from one pass, marking the candidate it selected, so the report can no longer contradict the choice it is explaining, and the help test stats the filesystem once instead of twice.

`flag_help_entry` matched the signature by prefix against any line. That is not sound as a general helper: measured against the live help, `--metrics` prefix-matches the separate `--metrics-port <PORT>` entry and an example command line in `after_long_help`. It now matches the whole trimmed line, which is exactly how clap's long help renders a signature, and the short-form branch requires a real two-character short flag so a hyphen-bulleted description line cannot anchor the slice on prose.

`documented_aliases` searched the whole entry for a bare `[alias: ` / `[aliases: ` substring, so a bracketed span written by hand in a doc comment would have satisfied the #464 contract with no `visible_alias` attribute behind it. The help output already carries prose brackets on other flags, so this was a live foot-gun rather than a theoretical one. The annotation must now begin a line, which is how clap always renders it, and the parser still handles an annotation that wraps across lines.

New coverage: `cli_binaries_resolve_to_the_path_cargo_built_them_at` is the regression test the resolution defect never had, asserting the resolved path is the one cargo built rather than a reconstruction, which holds under `CARGO_TARGET_DIR`, a custom profile, and a cross build alike. `flag_help_entry_ignores_hyphen_bulleted_prose` and a prefix-sibling case in `flag_help_entry_stops_at_the_next_flag` cover the matcher; an inline-prose bracket case and a wrapped-annotation case cover the parser. The mutation test now splices the annotation-stripped entry back into the full help and re-runs the entry lookup, so it exercises the whole path rather than only the parser.

Validated with `cargo test --release --features metal,accelerate --test cli_help_consistency` (16 passed), the same under `CARGO_TARGET_DIR` outside the checkout, and `cargo clippy --release --all-targets --features metal,accelerate -- -D warnings`. Rebuilding `mlxcel-server` with `visible_alias = "draft-max"` removed turns the test red on the `--draft <DRAFT>` assertion, confirming the tightened form still pins the contract.

Refs #962

* test(cli): cover the deps-derived binary resolution branch

resolve_repo_binary's second candidate, a binary path derived from the running test binary's own deps/ location, only fires for a binary name the compile-time CARGO_BIN_EXE_* match arm does not list. Every existing test in this file, including the new cli_binaries_resolve_to_the_path_cargo_built_them_at regression test, only calls resolve_repo_binary with "mlxcel" or "mlxcel-server", both of which always resolve through the compile-time candidate, so the deps-parent layout check added alongside this branch was never exercised.

speculative_bench is a real fourth [[bin]] target in Cargo.toml that no CARGO_BIN_EXE_* case names and that no integration test spawns, making it the live binary that takes this code path. The new test resolves it and asserts the result sits in the same profile directory as the binaries CARGO_BIN_EXE_* names directly.

Also reviewed CONTRIBUTING.md, docs/architecture.md, and the docs/ tree for anything documenting CARGO_TARGET_DIR or how integration tests locate binaries; none exists, so no documentation needed updating for this test-harness-only change.

Validation:
- cargo fmt --all -- --check: clean.
- DEVELOPER_DIR=/Applications/Xcode-26.6.0.app/Contents/Developer cargo test --release --features metal,accelerate --test cli_help_consistency: 17 passed.

Refs #962
@inureyes inureyes added the status:done Completed label Sep 6, 2026
be-free-snowboy pushed a commit to freestylejs/snowbrain-mlxcel that referenced this pull request Oct 27, 2026
… updates (lablup#828)

Bumps the minor-and-patch group with 10 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [serde](https://github.com/serde-rs/serde) | `1.0.228` | `1.0.229` |
| [anyhow](https://github.com/dtolnay/anyhow) | `1.0.103` | `1.0.104` |
| [thiserror](https://github.com/dtolnay/thiserror) | `2.0.18` | `2.0.19` |
| [clap](https://github.com/clap-rs/clap) | `4.6.1` | `4.6.2` |
| [tokio](https://github.com/tokio-rs/tokio) | `1.52.3` | `1.53.0` |
| [futures](https://github.com/rust-lang/futures-rs) | `0.3.32` | `0.3.33` |
| [uuid](https://github.com/uuid-rs/uuid) | `1.23.5` | `1.24.0` |
| [cxx](https://github.com/dtolnay/cxx) | `1.0.197` | `1.0.198` |
| [globset](https://github.com/BurntSushi/ripgrep) | `0.4.18` | `0.4.19` |
| [cc](https://github.com/rust-lang/cc-rs) | `1.2.67` | `1.3.0` |



Updates `serde` from 1.0.228 to 1.0.229
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](serde-rs/serde@v1.0.228...v1.0.229)

Updates `anyhow` from 1.0.103 to 1.0.104
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](dtolnay/anyhow@1.0.103...1.0.104)

Updates `thiserror` from 2.0.18 to 2.0.19
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](dtolnay/thiserror@2.0.18...2.0.19)

Updates `clap` from 4.6.1 to 4.6.2
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](clap-rs/clap@clap_complete-v4.6.1...clap_complete-v4.6.2)

Updates `tokio` from 1.52.3 to 1.53.0
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](tokio-rs/tokio@tokio-1.52.3...tokio-1.53.0)

Updates `futures` from 0.3.32 to 0.3.33
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/main/CHANGELOG.md)
- [Commits](rust-lang/futures-rs@0.3.32...0.3.33)

Updates `uuid` from 1.23.5 to 1.24.0
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](uuid-rs/uuid@v1.23.5...v1.24.0)

Updates `cxx` from 1.0.197 to 1.0.198
- [Release notes](https://github.com/dtolnay/cxx/releases)
- [Commits](dtolnay/cxx@1.0.197...1.0.198)

Updates `cxx-build` from 1.0.197 to 1.0.198
- [Release notes](https://github.com/dtolnay/cxx/releases)
- [Commits](dtolnay/cxx@1.0.197...1.0.198)

Updates `globset` from 0.4.18 to 0.4.19
- [Release notes](https://github.com/BurntSushi/ripgrep/releases)
- [Changelog](https://github.com/BurntSushi/ripgrep/blob/master/CHANGELOG.md)
- [Commits](BurntSushi/ripgrep@globset-0.4.18...globset-0.4.19)

Updates `cc` from 1.2.67 to 1.3.0
- [Release notes](https://github.com/rust-lang/cc-rs/releases)
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md)
- [Commits](rust-lang/cc-rs@cc-v1.2.67...cc-v1.3.0)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-version: 1.0.104
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: cc
  dependency-version: 1.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: clap
  dependency-version: 4.6.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: cxx
  dependency-version: 1.0.198
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: cxx-build
  dependency-version: 1.0.198
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: futures
  dependency-version: 0.3.33
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: globset
  dependency-version: 0.4.19
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: serde
  dependency-version: 1.0.229
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: thiserror
  dependency-version: 2.0.19
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: tokio
  dependency-version: 1.53.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: uuid
  dependency-version: 1.24.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
be-free-snowboy pushed a commit to freestylejs/snowbrain-mlxcel that referenced this pull request Oct 27, 2026
…ablup#996)

* fix(tests): honor CARGO_TARGET_DIR and clap's singular alias label

The nightly `make verify` job has been red on `main` because of two independent defects in the integration test suite, both surfacing in `tests/cli_help_consistency.rs`.

`repo_binary_path` in `tests/common/mod.rs` reconstructed the binary location as `CARGO_MANIFEST_DIR/target/<profile>/<name>`, which is wrong whenever `CARGO_TARGET_DIR` is set. Both `nightly-verify.yml` and `release.yml` set it to `$HOME/.cargo-target/mlxcel` so the self-hosted runner keeps a warm build cache outside the checkout, so cargo built the binaries there while the tests looked for them in the workspace. Every test in the file failed on CI with `No such file or directory` while passing locally, and the helper is shared by 12 other integration test files. It now prefers the compile-time `CARGO_BIN_EXE_<name>` path cargo hands every integration test target, which already accounts for the profile, the target triple, and `CARGO_TARGET_DIR`, then falls back to a `current_exe()`-derived profile directory for binaries it does not name by hand, then to the previous reconstruction. The existing `if !binary.exists()` skip guards in the real-model tests keep working because the helper still returns a path unconditionally; the new `binary_resolution_report` lists every candidate and whether it exists, and the two spawn sites in the help test fold it into their panic so the next occurrence is diagnosable from the panic alone.

`drafter_flag_aliases_are_documented_on_both_binaries` asserted on the literal `[aliases: X]`. `clap_builder` 4.6.2 introduced a `pluralize` call in its help template that renders `[alias: X]` for exactly one visible alias, and each of the four flags carries exactly one, so all four assertions broke on a dependency bump (`3ccb693a3`, lablup#828) rather than a code change. All four aliases are still declared and still documented, so the fix belongs in the assertion, not in the CLI. It now locates the flag's own help entry, parses the alias names out of whatever alias annotation clap rendered, and matches on the name. Accepting either label keeps the assertion working across clap's singular/plural rendering and across a future second alias; scoping it to one entry and requiring a real annotation keeps it from being satisfied by prose, which matters because `--draft-model`'s description names `--model-draft` in its own text.

Three tests cover the new assertion: a prose-only entry must not count as documented, the entry slicer must not spill into the neighbouring flag, and cutting the rendered annotation out of the live `mlxcel serve --help` must leave the alias undocumented.

Validated with `cargo test --release --features metal,accelerate --test cli_help_consistency` (14 passed), the same command with `CARGO_TARGET_DIR` pointed at a directory outside the checkout, `cargo clippy --release --all-targets --features metal,accelerate -- -D warnings`, and `cargo fmt --all -- --check`. Rebuilding the CLI with `visible_alias = "model-draft"` removed turns the test red as intended, so the lablup#464 contract is still pinned.

Refs lablup#962

* fix(tests): tighten binary resolution and alias-entry matching

Review hardening on top of the previous commit. Both halves had ways to be silently wrong that the passing tests did not expose.

Binary resolution now consults only signals cargo itself produces. The runtime `CARGO_BIN_EXE_*` lookup is gone: cargo never sets it at test runtime, so it was dead code, and keeping it as an override hook would let a stale exported value beat the binary cargo just built, which is the same shape as the bug this ordering exists to fix. The `<manifest>/target/<profile>/<name>` reconstruction is gone too: besides being wrong under `CARGO_TARGET_DIR`, it cannot know the target triple under `--target`, and its `cfg!(debug_assertions)` profile guess is wrong for a custom profile such as `--profile test-fast`, so it could hand back a stale binary from an unrelated build. What remains is the compile-time `CARGO_BIN_EXE_*` path and a `current_exe()`-derived profile directory that now verifies its parent really is `deps` rather than assuming the layout, so a test binary running from a copied location cannot spawn an unrelated sibling that happens to share the name. `resolve_repo_binary` returns the path and the diagnostic report from one pass, marking the candidate it selected, so the report can no longer contradict the choice it is explaining, and the help test stats the filesystem once instead of twice.

`flag_help_entry` matched the signature by prefix against any line. That is not sound as a general helper: measured against the live help, `--metrics` prefix-matches the separate `--metrics-port <PORT>` entry and an example command line in `after_long_help`. It now matches the whole trimmed line, which is exactly how clap's long help renders a signature, and the short-form branch requires a real two-character short flag so a hyphen-bulleted description line cannot anchor the slice on prose.

`documented_aliases` searched the whole entry for a bare `[alias: ` / `[aliases: ` substring, so a bracketed span written by hand in a doc comment would have satisfied the lablup#464 contract with no `visible_alias` attribute behind it. The help output already carries prose brackets on other flags, so this was a live foot-gun rather than a theoretical one. The annotation must now begin a line, which is how clap always renders it, and the parser still handles an annotation that wraps across lines.

New coverage: `cli_binaries_resolve_to_the_path_cargo_built_them_at` is the regression test the resolution defect never had, asserting the resolved path is the one cargo built rather than a reconstruction, which holds under `CARGO_TARGET_DIR`, a custom profile, and a cross build alike. `flag_help_entry_ignores_hyphen_bulleted_prose` and a prefix-sibling case in `flag_help_entry_stops_at_the_next_flag` cover the matcher; an inline-prose bracket case and a wrapped-annotation case cover the parser. The mutation test now splices the annotation-stripped entry back into the full help and re-runs the entry lookup, so it exercises the whole path rather than only the parser.

Validated with `cargo test --release --features metal,accelerate --test cli_help_consistency` (16 passed), the same under `CARGO_TARGET_DIR` outside the checkout, and `cargo clippy --release --all-targets --features metal,accelerate -- -D warnings`. Rebuilding `mlxcel-server` with `visible_alias = "draft-max"` removed turns the test red on the `--draft <DRAFT>` assertion, confirming the tightened form still pins the contract.

Refs lablup#962

* test(cli): cover the deps-derived binary resolution branch

resolve_repo_binary's second candidate, a binary path derived from the running test binary's own deps/ location, only fires for a binary name the compile-time CARGO_BIN_EXE_* match arm does not list. Every existing test in this file, including the new cli_binaries_resolve_to_the_path_cargo_built_them_at regression test, only calls resolve_repo_binary with "mlxcel" or "mlxcel-server", both of which always resolve through the compile-time candidate, so the deps-parent layout check added alongside this branch was never exercised.

speculative_bench is a real fourth [[bin]] target in Cargo.toml that no CARGO_BIN_EXE_* case names and that no integration test spawns, making it the live binary that takes this code path. The new test resolves it and asserts the result sits in the same profile directory as the binaries CARGO_BIN_EXE_* names directly.

Also reviewed CONTRIBUTING.md, docs/architecture.md, and the docs/ tree for anything documenting CARGO_TARGET_DIR or how integration tests locate binaries; none exists, so no documentation needed updating for this test-harness-only change.

Validation:
- cargo fmt --all -- --check: clean.
- DEVELOPER_DIR=/Applications/Xcode-26.6.0.app/Contents/Developer cargo test --release --features metal,accelerate --test cli_help_consistency: 17 passed.

Refs lablup#962
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

status:done Completed type:dependency Dependency updates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant