-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
chore(pyright): rebuild pyright pins on each buildkite build #20440
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. Join @rexledesma and the rest of your teammates on |
0f3dda9
to
5c2a6d8
Compare
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.
Thanks for moving this forward. A few points:
make rebuild_pyright_pins
will run pyright after building pins on its own, so there is no need for a follow-upmake pyright
- One reason the pins system is in place is to keep
pyright
results the same between local dev and CI. That would no longer be true after this PR-- a new dep could come out that changes annotations and causes irritating build errors ("unnecessary type ignore" highly likely from fixed annotations) in CI.
Bc of above I think we need:
- A separate step that runs only on
requirements.txt
change (would be nice if it stays in the same BK UI group) - The
run-pyright
script needs to be modified with an option that will skip running pyright itself after building the venv, since we only care that the env builds, not that there are no type errors under the new pins.I am going to spin out a quick PR for this now that you can stack on.
PRs that add --skip-typecheck
:
#20565 has landed, so reopening this. |
5c2a6d8
to
ee27209
Compare
032addc
to
2a11b0e
Compare
2a11b0e
to
d4b9f6d
Compare
## Summary & Motivation Prevent errors like #20406 from happening by always attempting to regenerate the pyright pins on each build. I could put this in a separate step and scope it down to only run if any `requirements.txt` has changed in the `pyright/` subdirectory, but want to see if the build time difference is negligible because of `uv` first. ## How I Tested These Changes bk
Summary & Motivation
Prevent errors like #20406 from happening by always attempting to regenerate the pyright pins on each build.
I could put this in a separate step and scope it down to only run if any
requirements.txt
has changed in thepyright/
subdirectory, but want to see if the build time difference is negligible because ofuv
first.How I Tested These Changes
bk