Utilities for setting up a Sentry development environment
Project description
devenv
managing dev environments since '24
devenv
is an extensible execution framework and library for authoring
a simple set of high level commands - bootstrap, sync, doctor, nuke - that
manage a repository's dev environment.
install
Download this and run it:
bash install-devenv.sh
user guide
devenv bootstrap [repository name]
This is intended for initial setup. sentry
will set up both sentry and getsentry.
Repositories are cloned to a "coderoot" directory which is specified in the global configuration.
devenv sync
When you're inside a repository, this will bring the dev environment up to date,
or create it if it doesn't exist.
It runs [reporoot]/devenv/sync.py
.
devenv doctor
When you're inside a repository, this diagnoses and tries to fix common issues.
Checks and fixes are defined in [reporoot]/devenv/checks
.
devenv nuke|uninstall
(wip)
When you're inside a repository, this completely removes the dev environment.
technical overview
devenv itself lives in ~/.local/share/sentry-devenv
. Inside:
bin
contains devenv itself anddirenv
- this is the only PATH entry needed for devenv
- a private python and virtualenv used exclusively by
devenv
As much as possible, a repo's dev environment is self-contained within [reporoot]/.devenv
.
We're relying on direnv
(which bootstrap will install, globally) to add [reporoot]/.devenv/bin
to PATH.
Therefore a minimum viable [reporoot]/.envrc
might look like:
if [ -f "${PWD}/.env" ]; then
dotenv
fi
PATH_add "${HOME}/.local/share/sentry-devenv/bin"
if ! command -v devenv >/dev/null; then
echo "install devenv: https://github.com/getsentry/devenv#install"
return 1
fi
PATH_add "${PWD}/.devenv/bin"
configuration
global configuration is at ~/.config/sentry-devenv/config.ini
.
repository configuration is at [reporoot]/devenv/config.ini
.
develop
We use tox
. The easiest way to run devenv locally is just using the tox venv's executable:
~/code/sentry $ ~/code/devenv/.tox/py311/bin/devenv sync
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for sentry_devenv-1.6.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 965b1d0b312c27c8402ca593d8664f2251428a357625ed41e05af27f50fc963a |
|
MD5 | a3a52156ba851f8a45708c25ff82f977 |
|
BLAKE2b-256 | 148e467f685ecb0059088d458293d5fee48fb033d1a047acc8b12a306fced907 |