Skip to content

ci: add workspace-hack #18363

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open

ci: add workspace-hack #18363

wants to merge 3 commits into from

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

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