-
-
Notifications
You must be signed in to change notification settings - Fork 62
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
base: master
Are you sure you want to change the base?
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)
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 sync
and 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 allow
anddevenv sync
(might be prompted to run~/.local/share/sentry-devenv/bin/devenv update
first), which will set up everything needed for development (other than cargo).Notes:
rustfmt
as 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.