Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

xuhongxu96
Copy link

@xuhongxu96 xuhongxu96 commented Oct 5, 2025

How does this PR change the system?

We've identified many redundant dependencies in buck2 build scripts and refactored them, as part of a research project on dependency reduction.

Feel free to leave feedback, suggest improvements, or directly edit this PR.

Thanks for your support!

@github-actions github-actions bot added community Submitted by a community person A-sdf Area: Primary backend API service [Rust] A-veritech Area: Task execution backend service [Rust] A-dal A-si-data-pg A-si-pool-noodle A-forklift A-edda A-luminork labels Oct 5, 2025
@xuhongxu96 xuhongxu96 marked this pull request as ready for review October 5, 2025 18:52
@fnichol
Copy link
Contributor

fnichol commented Oct 6, 2025

Thanks for the PR! I noticed that you mentioned Bazel build scripts in your summary, however we're using the Buck2 build system. There is a very strong overlap in approach and in the format and syntax so it's possible that your tooling happened to work with our build definitions.

I'd be curious as to your approach to determine the unused dependencies in the Buck2 packages in this repo. Are you using any existing tools/products or is this is result of some research processes? In eyeballing some of the changes, some of these dependency removals are very plausible where others would not trivially compile.

I think without understanding more about the process that led to these changes, it will be hard for us to start pairing down build-able combinations that would yield a smaller, working set of changes. Thank you!

@xuhongxu96
Copy link
Author

xuhongxu96 commented Oct 6, 2025

Thanks for the PR! I noticed that you mentioned Bazel build scripts in your summary, however we're using the Buck2 build system. There is a very strong overlap in approach and in the format and syntax so it's possible that your tooling happened to work with our build definitions.

I'd be curious as to your approach to determine the unused dependencies in the Buck2 packages in this repo. Are you using any existing tools/products or is this is result of some research processes? In eyeballing some of the changes, some of these dependency removals are very plausible where others would not trivially compile.

I think without understanding more about the process that led to these changes, it will be hard for us to start pairing down build-able combinations that would yield a smaller, working set of changes. Thank you!

Sorry for the typo and thanks for your feedback. Yes, we noticed that si uses Buck2 and our tool supports Buck2 as well. The result comes from our research project (a new tool).

During reduction, we validated the changes by executing the following:

buck2 uquery 'kind("rust_(binary|library|test)", set("//bin/..." "//lib/..."))' | xargs buck2 build

So I believe the project should be able to compile.

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

Labels

A-dal A-edda A-forklift A-luminork A-sdf Area: Primary backend API service [Rust] A-si-data-pg A-si-pool-noodle A-veritech Area: Task execution backend service [Rust] community Submitted by a community person

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants