Skip to content

Adding VersionStream for ztunnel-1.29#78630

Open
octo-sts[bot] wants to merge 2 commits intomainfrom
ztunnel-1.29
Open

Adding VersionStream for ztunnel-1.29#78630
octo-sts[bot] wants to merge 2 commits intomainfrom
ztunnel-1.29

Conversation

@octo-sts
Copy link
Contributor

@octo-sts octo-sts bot commented Feb 18, 2026

No description provided.

@octo-sts
Copy link
Contributor Author

octo-sts bot commented Feb 18, 2026

🔢 Build Failed: Dependency Version Mismatch

failed to select a version for the requirement lru = "^0.14" candidate versions found which didn't match: 0.16.3 location searched: crates.io index required by package pingora-pool v0.6.0 ... which satisfies dependency pingora-pool = "^0.6" (locked to 0.6.0) of package ztunnel v0.0.0 (/home/build)

Build Details

Category Details
Build System rust/cargo
Failure Point cargobump dependency update during rust/cargobump step

Root Cause Analysis 🔍

Version conflict during dependency update - cargobump attempted to update the 'lru' package from version 0.14.0 to 0.16.3, but the pingora-pool v0.6.0 dependency requires lru ^0.14 (compatible with 0.14.x but not 0.16.x). This is a semantic versioning incompatibility where the major version change from 0.14 to 0.16 introduces breaking changes that are not compatible with the existing dependency constraints.


🔍 Build failure fix suggestions

Found similar build failures that have been fixed in the past and analyzed them to suggest a fix:

Suggested Changes

File: Cargo.toml

  • addition at line after line with pprof modification (After the pprof modification section)
    Replacement:
# Pin lru to 0.14.x to maintain compatibility with pingora-pool v0.6.0
      sed -i '/\[dependencies\]/a lru = "0.14"' Cargo.toml

Content:

Add explicit lru dependency constraint to prevent incompatible version updates

File: The Melange YAML pipeline section

  • modification at line Before the build environment setup (Before the cargo auditable build command)
    Original:
  - runs: |
      export ZTUNNEL_BUILD_buildStatus=clean

Replacement:

  - runs: |
      # Pin lru dependency to maintain compatibility with pingora-pool
      echo 'lru = "0.14"' >> Cargo.toml
      
  - runs: |
      export ZTUNNEL_BUILD_buildStatus=clean

Content:

Add dependency constraint to prevent lru version conflict
Click to expand fix analysis

Analysis

No similar build failures were found in the historical data, so I'm analyzing this as a new Rust dependency version conflict issue. The error indicates that the rust/cargobump step attempted to update the lru crate from version 0.14.0 to 0.16.3, but the pingora-pool v0.6.0 dependency has a constraint requiring lru = "^0.14" which is incompatible with the 0.16.x major version due to semantic versioning rules. This type of issue typically requires either downgrading the problematic dependency or finding an alternative approach to handle the version conflict.

Click to expand fix explanation

Explanation

The fix addresses the root cause of the dependency version conflict by explicitly constraining the lru crate to version 0.14.x before the rust/cargobump step runs. This prevents cargobump from attempting to update lru to version 0.16.3, which would be incompatible with pingora-pool v0.6.0's requirement for lru = "^0.14". By adding the constraint early in the pipeline, we ensure that dependency resolution respects the existing compatibility requirements. The semantic versioning conflict occurs because the jump from 0.14 to 0.16 represents breaking changes that pingora-pool hasn't been updated to handle yet. This approach maintains compatibility while allowing other dependencies to be updated normally by cargobump.

Click to expand alternative approaches

Alternative Approaches

  • Skip the rust/cargobump step entirely and rely on the existing Cargo.lock file for dependency versions
  • Modify the cargobump configuration to exclude the lru crate from automatic updates using cargo-edit allow lists
  • Update to a newer version of pingora-pool that supports lru 0.16.x if available upstream
  • Use cargo-edit to selectively update only non-conflicting dependencies instead of using cargobump

Was this comment helpful? Please use 👍 or 👎 reactions on this comment.

@octo-sts octo-sts bot added the ai/skip-comment Stop AI from commenting on PR label Feb 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants

Comments