Skip to content

build: bump workspace dependencies#370

Open
art049 wants to merge 1 commit into
mainfrom
build/bump-dependencies
Open

build: bump workspace dependencies#370
art049 wants to merge 1 commit into
mainfrom
build/bump-dependencies

Conversation

@art049
Copy link
Copy Markdown
Member

@art049 art049 commented May 24, 2026

Refresh Cargo.lock to latest semver-compatible versions and bump direct dependency constraints to current major versions across the workspace.

Notable upgrades:

  • reqwest 0.11 → 0.12 (+ reqwest-middleware 0.4, reqwest-retry 0.7)
  • rand 0.8 → 0.10
  • git2 0.20 → 0.21
  • sysinfo 0.33 → 0.37
  • object 0.36 → 0.39
  • base64 0.21 → 0.22, md5 0.7 → 0.8, sha256 1.4 → 1.6
  • indicatif 0.17 → 0.18, console 0.15 → 0.16
  • addr2line 0.25 → 0.26, gimli 0.32 → 0.33, procfs 0.17 → 0.18
  • ipc-channel 0.18 → 0.20
  • libbpf-rs / libbpf-cargo 0.25 → 0.26, bindgen 0.71 → 0.72
  • Dev: insta 1.29 → 1.47, rstest 0.25 → 0.26, test-with 0.15 → 0.16

Also consolidates insta, rstest, test-log, test-with, and ipc-channel under [workspace.dependencies] so future bumps only touch one place.

bincode intentionally stays on 1.x — 2.0 changes the wire format and serde integration, which would invalidate existing serialized data.

Code adjustments to match new APIs:

  • rand::distributionsrand::distr, thread_rng()rng() (rand 0.9 rename)
  • git2::Remote::url() now returns Result instead of Option
  • sysinfo::System::physical_core_count is now an associated function
  • Enable the json feature on reqwest-middleware (no longer on by default in 0.4)

Refresh Cargo.lock to latest semver-compatible versions and bump direct
dependency constraints to current major versions. Notable upgrades:

- reqwest 0.11 -> 0.12 (+ reqwest-middleware 0.4, reqwest-retry 0.7)
- rand 0.8 -> 0.10
- git2 0.20 -> 0.21
- sysinfo 0.33 -> 0.37
- object 0.36 -> 0.39
- base64 0.21 -> 0.22, md5 0.7 -> 0.8, sha256 1.4 -> 1.6
- indicatif 0.17 -> 0.18, console 0.15 -> 0.16
- addr2line 0.25 -> 0.26, gimli 0.32 -> 0.33, procfs 0.17 -> 0.18
- ipc-channel 0.18 -> 0.20
- libbpf-rs/libbpf-cargo 0.25 -> 0.26, bindgen 0.71 -> 0.72
- insta 1.29 -> 1.47, rstest 0.25 -> 0.26, test-with 0.15 -> 0.16

Consolidate insta, rstest, test-log, test-with, and ipc-channel as
workspace dependencies.

bincode stays on 1.x because 2.0 changes the wire format and serde
integration.

Code adjustments to match new APIs:

- rand::distributions -> rand::distr, thread_rng() -> rng()
- git2 Remote::url() now returns Result
- sysinfo physical_core_count is now an associated function
- enable the json feature on reqwest-middleware

Co-Authored-By: Claude <noreply@anthropic.com>
@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented May 24, 2026

Greptile Summary

This PR bumps direct dependency constraints across the workspace to current semver-compatible versions, consolidates several dev-tool dependencies under [workspace.dependencies], and makes the minimal code adjustments required by the new APIs.

  • The notable library upgrades (reqwest 0.11→0.12, rand 0.8→0.10, git2 0.20→0.21, sysinfo 0.33→0.37, ipc-channel 0.18→0.20) are reflected correctly in both Cargo.toml and the three changed source files, with each call-site adapted to the renamed APIs.
  • bincode is intentionally pinned to 1.x with an explanatory comment, and reqwest-middleware now explicitly enables the json feature which is no longer on by default in 0.4.

Confidence Score: 4/5

Safe to merge; all API call-sites are correctly adapted to the new library versions and there are no functional regressions.

All three code changes (rand distr rename, git2 url() Result handling, sysinfo associated function) are minimal and mechanically correct adaptations. The one gap is that runner-shared's rand dev-dependency was not bumped alongside the workspace-wide rand upgrade, leaving two copies of rand in the build graph.

crates/runner-shared/Cargo.toml — the rand dev-dependency is still on 0.8 while the rest of the workspace has moved to 0.10.

Important Files Changed

Filename Overview
src/cli/auth.rs Adapts git2 0.21 API: remote.url() now returns Result instead of Option; .ok()? correctly converts it to Option in the detect_repository helper.
src/executor/helpers/profile_folder.rs Updates rand 0.9 renames: distributionsdistr, DistStringSampleString, thread_rng()rng(). All three are required and correct.
src/system/info.rs Adapts sysinfo 0.37 API: physical_core_count is now a static/associated function called as System::physical_core_count() rather than s.physical_core_count().
Cargo.toml Main workspace manifest; all bumped versions match the PR description. ipc-channel, insta, rstest, test-log, and test-with newly moved to [workspace.dependencies]. bincode pinned comment added.
crates/memtrack/Cargo.toml libbpf-rs/libbpf-cargo bumped 0.25→0.26, bindgen 0.71→0.72; dev-deps consolidated to workspace versions.
crates/runner-shared/Cargo.toml rmp, rmp-serde, zstd bumped; bincode comment added; but the dev-dependency rand = "0.8" is left unchanged while the workspace root now uses rand 0.10, keeping two rand versions in the build graph.
crates/instrument-hooks-bindings/Cargo.toml Single patch bump: nix 0.31.1 → 0.31.3.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    subgraph Workspace["Workspace root (Cargo.toml)"]
        rand010["rand 0.10"]
        reqwest012["reqwest 0.12"]
        git2021["git2 0.21"]
        sysinfo037["sysinfo 0.37"]
        ipc020["ipc-channel 0.20"]
    end

    subgraph CodeAdaptations["Code adaptations"]
        profile_folder["profile_folder.rs\nrand::distr + rng()"]
        auth["auth.rs\nremote.url().ok()?"]
        sysinfo_info["info.rs\nSystem::physical_core_count()"]
    end

    subgraph Crates["Member crates"]
        memtrack["memtrack\nlibbpf-rs 0.26, bindgen 0.72\n(dev-deps → workspace)"]
        runner_shared["runner-shared\nrmp, zstd bumped\nrand dev-dep still 0.8 ⚠️"]
        exec_harness["exec-harness\n(no version changes)"]
    end

    rand010 --> profile_folder
    git2021 --> auth
    sysinfo037 --> sysinfo_info
    ipc020 --> Crates
    Workspace --> Crates
Loading

Comments Outside Diff (1)

  1. crates/runner-shared/Cargo.toml, line 22 (link)

    P2 The rand dev-dependency here is still on 0.8 while the workspace root (Cargo.toml) has been upgraded to 0.10 as part of this PR. Cargo will resolve and compile both versions simultaneously, adding build time and binary size for no benefit. Since rand is only used in the memtrack_writer benchmark inside this crate, bumping it to "0.10" (or moving it to [workspace.dependencies]) should be safe and keeps the workspace on a single rand tree.

Reviews (1): Last reviewed commit: "build: bump workspace dependencies" | Re-trigger Greptile

@codspeed-hq
Copy link
Copy Markdown

codspeed-hq Bot commented May 24, 2026

Merging this PR will not alter performance

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

✅ 7 untouched benchmarks


Comparing build/bump-dependencies (6238808) with main (f4d8493)

Open in CodSpeed

@xtqqczze
Copy link
Copy Markdown
Contributor

Closes #331
Closes #333

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