Skip to content

Conversation

ffengyu
Copy link
Contributor

@ffengyu ffengyu commented Jul 15, 2025

I hereby agree to the terms of the CLA available at: https://docs.databend.com/dev/policies/cla/

Summary

Tests

  • Unit Test
  • Logic Test
  • Benchmark Test
  • No Test - Explain why

Type of change

  • Bug Fix (non-breaking change which fixes an issue)
  • New Feature (non-breaking change which adds functionality)
  • Breaking Change (fix or feature that could cause existing functionality not to work as expected)
  • Documentation Update
  • Refactoring
  • Performance Improvement
  • Other (please describe):

This change is Reviewable

@github-actions github-actions bot added the pr-build this PR changes build/testing/ci steps label Jul 15, 2025
Copy link
Contributor

github-actions bot commented Jul 15, 2025

🤖 Smart Auto-retry Analysis (Retry 1)

Workflow: 16408415602

📊 Summary

  • Total Jobs: 21
  • Failed Jobs: 1
  • Retryable: 0
  • Code Issues: 1

NO RETRY NEEDED

All failures appear to be code/test issues requiring manual fixes.

🔍 Job Details

  • linux / check: Not retryable (Code/Test)

🤖 About

Automated analysis using job annotations to distinguish infrastructure issues (auto-retried) from code/test issues (manual fixes needed).

@sundy-li sundy-li requested a review from Copilot July 16, 2025 01:06
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR integrates a generated “workspace hack” crate (databend-workspace-hack) into the workspace to unify dependency versions across all member crates via Cargo Hakari. Key changes include:

  • Adding databend-workspace-hack as a path dependency in every Cargo.toml to ensure consistent versions.
  • Introducing the databend-workspace-hack crate stub with a lib.rs, build.rs, a generated Cargo.toml, and merge settings.
  • Disabling the unused_crate_dependencies lint in common/building to avoid errors from the additional hack dependency.

Reviewed Changes

Copilot reviewed 115 out of 116 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
Cargo.toml Added databend-workspace-hack to workspace members.
Many src/.../Cargo.toml files Added databend-workspace-hack = { version = "0.1", path = ... } under [dependencies].
databend-workspace-hack/src/lib.rs Created stub library file.
databend-workspace-hack/build.rs Added empty build script.
databend-workspace-hack/Cargo.toml Generated Hakari-managed dependency list.
databend-workspace-hack/.gitattributes Configured merge and line endings.
src/common/building/src/lib.rs Commented out #![deny(unused_crate_dependencies)].
.config/hakari.toml Added configuration for Cargo Hakari.
Comments suppressed due to low confidence (2)

databend-workspace-hack/src/lib.rs:1

  • Add the standard Apache license header to this file to maintain consistency with the rest of the codebase and clarify that this crate is under the project’s license.
// This is a stub lib.rs.

databend-workspace-hack/build.rs:1

  • Include the project’s license header at the top of this build script to match repository conventions and ensure legal clarity.
// A build script is required for cargo to consider build dependencies.

@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.

#![deny(unused_crate_dependencies)]
// #![deny(unused_crate_dependencies)]
Copy link
Preview

Copilot AI Jul 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of commenting out the lint directive, replace it with #![allow(unused_crate_dependencies)] at the crate root. This explicitly documents that the hack crate injection is intentional and avoids leaving commented code.

Suggested change
// #![deny(unused_crate_dependencies)]
#![allow(unused_crate_dependencies)]

Copilot uses AI. Check for mistakes.

@@ -0,0 +1,341 @@
# This file is generated by `cargo hakari`.
# To regenerate, run:
# cargo hakari generate
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

scripts/setup/dev_setup.sh should update

@forsaken628
Copy link
Collaborator

Not having found a good solution for cargo machete and cargo hakari to coexist, I think manually maintaining the workspace-hack will suffice for our needs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pr-build this PR changes build/testing/ci steps
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Feature: make the feature selection independent of the compiled packages
2 participants