-
-
Notifications
You must be signed in to change notification settings - Fork 652
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
Improve --pantsd-invalidation-globs
implementation with actual fingerprinting
#5567
Comments
I believe the implementation of this ticket should consider allowing globs outside of the buildroot, possibly allowing some templating with an environment variable, in order to support restarting pantsd if files in the pants repo change when running pants from source, but in a separate repo. |
@cosmicexplorer : That would be ideal, but it is challenging to do with our current implementation of watchman, which can only watch things below the buildroot. The "watch only what has been globbed" implementation of #4999 might allow for watching arbitrary paths though... cc @illicitonion |
Ah, but even then: if pants is cooperating with the version control system to determine what has changed, it would need a split strategy inside and outside the buildroot. Non-trivial, but desirable. |
) ### Problem Improve --pantsd-invalidation-globs implementation with actual fingerprinting. See #5567 for details ### Solution As a continuation of #7454, compute and save initial Snapshots keyed by globs. Re-compute Snapshots for every fs event and compare with originals to decide whether to restart
Closed by #7531 |
The invalidation globs for pantsd (improved in #5567) can be manually configured to cover everything that is known to cause pantsd to need to restart. But many of the things that should trigger a restart are already known to pants. A partial list: 1. The content of any configured pants.ini files (due to #7022) 2. The pythonpath of pants itself (since changes to loose-source plugins mean the code that pantsd is running might have changed) We should automatically include these values (and likely others!) in the values that we use for --invalidation-globs. In cases where the options values point to files that exist outside of the buildroot, we should consider logging a warning (unless that ends up being too noisy). Fixes #7595.
noting Stu's suggestion on #5550
The text was updated successfully, but these errors were encountered: