-
-
Notifications
You must be signed in to change notification settings - Fork 60
feat: devenv, uv, pre-commit #1770
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
Conversation
01cba11 to
503daa7
Compare
This reverts commit d08cbec.
|
I honestly question the utility of |
Yeah, I just realized clippy/clippy-driver is a wrapper around rustc - rust linting inherently requires compilation, making it too slow for pre-commit anyways. |
prerequisite to #1770 we need python >= 3.11 since that's what our internal pypi supports (getsentry/pypi#1610)
loewenheim
left a comment
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.
Looks good to me!
This introduces devenv, uv and pre-commit in accordance with these repo standards:
https://www.notion.so/sentry/Standard-Spec-devenv-2238b10e4b5d8072a992d8b67d94be22
https://www.notion.so/sentry/Standard-Spec-python-uv-2248b10e4b5d8045b8fff30f8b8b67ca
https://www.notion.so/sentry/Standard-Spec-pre-commit-2238b10e4b5d8019aa1fe1158e39c38e
The ability to run
devenv syncand get a dev environment in any repo is the DX i'm aiming for,and these standards provide a foundation from which later we can easily push updates to all repos.
You should be able to checkout this branch, run
direnv allowanddevenv sync(might be prompted to run~/.local/share/sentry-devenv/bin/devenv updatefirst), which will set up everything needed for development (other than cargo).Notes:
rustfmtas a local pre-commit hook (need to keep the rust edition in sync with cargo.toml it seems) but it seems like clippy doesn't work on individual files (perhaps clippy-driver?) - anyway, decided not to touch these parts for now to keep things simple.