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
Use dependency inference internally #10283
Conversation
# Rust tests will be skipped. Delete if not intended. [ci skip-rust-tests]
# Rust tests will be skipped. Delete if not intended. [ci skip-rust-tests]
[ci skip-rust-tests]
# Rust tests will be skipped. Delete if not intended. [ci skip-rust-tests]
# Rust tests will be skipped. Delete if not intended. [ci skip-rust-tests]
This was unintentional. It resulted in dep inference not working due to ambiguity. # Rust tests will be skipped. Delete if not intended. [ci skip-rust-tests]
# Rust tests will be skipped. Delete if not intended. [ci skip-rust-tests]
…on test # Rust tests will be skipped. Delete if not intended. [ci skip-rust-tests]
We take the approach of forcing the target author to explicitly say whether it uses PantsRun. This is to avoid having worse caching on rules-based ITs which do not actually depend on PantsRunIntegrationTest. # Rust tests will be skipped. Delete if not intended. [ci skip-rust-tests]
# Rust tests will be skipped. Delete if not intended. [ci skip-rust-tests]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wow. That was effective beyond my absolute best hopes. Really, really awesome. Thanks Eric!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wowowow!
How did you figure out which deps could be removed? Manually?
Mostly trial and error. I started by deleting everything, although paid attention to targets that I knew have resources involved, such as I'm really happy with the result. Now when you read BUILD files, you get all the pertinent metadata. For example, the Also, the perf hit is much lower than I expected! |
[ci skip-rust-tests]
# Rust tests will be skipped. Delete if not intended. [ci skip-rust-tests]
John has a fix incoming. # Rust tests will be skipped. Delete if not intended. [ci skip-rust-tests]
# Conflicts: # src/python/pants/engine/internals/BUILD # src/python/pants/engine/internals/examples/BUILD # src/python/pants/engine/legacy/BUILD # src/python/pants/init/BUILD
We also add a new
python_integration_tests
macro to cut down on boilerplate even further.