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
This is intended for initial setup.
devenv fetch [repository name]
Any repository on github in the form of [org]/[reponame]
Repositories are cloned to a "coderoot" directory which is specified in the global configuration.
Note: sentry
and ops
are currently special names which perform more complicated installations (e.g., sentry
will set up both sentry and getsentry)
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.8.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a0b1f69d4c72a20fb6ebdf9a68f1698e9f1784205f4d44341b0fdb822cc4a9a |
|
MD5 | f5adc580d27b41d4ca7687408eba1222 |
|
BLAKE2b-256 | 17f9062d24ceb1851b537576e6e20d2377bfd08f5db60a7e225d82d8af217df6 |