Skip to main content

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 and direnv
    • 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sentry_devenv-1.6.2.tar.gz (30.1 kB view details)

Uploaded Source

Built Distribution

sentry_devenv-1.6.2-py3-none-any.whl (45.4 kB view details)

Uploaded Python 3

File details

Details for the file sentry_devenv-1.6.2.tar.gz.

File metadata

  • Download URL: sentry_devenv-1.6.2.tar.gz
  • Upload date:
  • Size: 30.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.2

File hashes

Hashes for sentry_devenv-1.6.2.tar.gz
Algorithm Hash digest
SHA256 034ed30c0f07fc1776e95a7bd65591d7c20e202fa383cca5bb4af481103f8429
MD5 eb9041986da7717f39912d95a04f9ef5
BLAKE2b-256 f700d595e3fbcf5290d5f32fc11b17e2e7387a0419fa3522774ae5015e0adb32

See more details on using hashes here.

File details

Details for the file sentry_devenv-1.6.2-py3-none-any.whl.

File metadata

File hashes

Hashes for sentry_devenv-1.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e6be4d9e0e80b2aeb2ed5ad8b501e84d4db6f3c79f8acd46a3497d37723f87a8
MD5 8e44e3f64176fd3939e69d3f61c69dc1
BLAKE2b-256 fc499edeba43a836bc4a10a4068f4946a233258ea78c4bb0d52f8947e245bee5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page