Skip to main content

The `db-contrib-tool` - MongoDB's tool for contributors.

Project description

db-contrib-tool

The db-contrib-tool - MongoDB's tools for contributors.

Table of contents

Description

The command line tool with various subcommands:

  • bisect - performs an evergreen-aware git-bisect to find the 'last passing version' and 'first failing version' of mongo
  • setup-repro-env
    • README.md
    • downloads and installs:
      • particular MongoDB versions
      • debug symbols
      • artifacts (including resmoke, python scripts etc)
      • python venv for resmoke, python scripts etc
  • symbolize
    • README.md
    • Symbolizes stacktraces from recent mongod and mongos binaries compiled in Evergreen, including patch builds, mainline builds, and release/production builds.
    • Requires authenticating to an internal MongoDB symbol mapping service.

Dependencies

Installation

Make sure dependencies are installed. Use pipx to install db-contrib-tool that will be available globally on your machine:

$ python3 -m pip install pipx
$ python3 -m pipx ensurepath

Installing db-contrib-tool:

$ python3 -m pipx install db-contrib-tool

Upgrading db-contrib-tool:

$ python3 -m pipx upgrade db-contrib-tool

Usage

Print out help message:

$ db-contrib-tool -h

More information on the usage of setup-repro-env can be found here.

Contributor's Guide (local development)

Install project dependencies

This project uses poetry for dependency management.

$ poetry install

Run command line tool (local development)

$ ENV=DEV poetry run db-contrib-tool -h

Run linters

$ poetry run isort src tests
$ poetry run black src tests

Run tests

$ poetry run pytest

Pre-commit

This project has pre-commit configured. Pre-commit will run configured checks at git commit time.
To enable pre-commit on your local repository run:

$ poetry run pre-commit install

To run pre-commit manually:

$ poetry run pre-commit run

Test pipx package

Pipx installation recommendations can be found in installation section.
The tool can be installed via pipx from your local repo:

$ python3 -m pipx install /path/to/db-contrib-tool

Versioning

This project uses semver for versioning. Please include a description what is added for each new version in CHANGELOG.md.

Code Review

Please open a Github Pull Request for code review. This project uses the Evergreen Commit Queue. Add a PR comment with evergreen merge to trigger a merge.

Deployment

Deployment to pypi is automatically triggered on merges to main.

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

db-contrib-tool-0.2.2.tar.gz (38.1 kB view details)

Uploaded Source

Built Distribution

db_contrib_tool-0.2.2-py3-none-any.whl (42.8 kB view details)

Uploaded Python 3

File details

Details for the file db-contrib-tool-0.2.2.tar.gz.

File metadata

  • Download URL: db-contrib-tool-0.2.2.tar.gz
  • Upload date:
  • Size: 38.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.9.2 Linux/4.15.0-1044-aws

File hashes

Hashes for db-contrib-tool-0.2.2.tar.gz
Algorithm Hash digest
SHA256 1e602f97b0cff044f8dc1dfe792847654f898a5546d67c2ab5392f2c6c5a8208
MD5 7ed4da5d43fb25a9ea4d420c33b9ba15
BLAKE2b-256 a06e7feaf732b77b3e72a6c8cc077b05268d75f6d18168dbaa5bd2e93d5dadfc

See more details on using hashes here.

File details

Details for the file db_contrib_tool-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: db_contrib_tool-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 42.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.9.2 Linux/4.15.0-1044-aws

File hashes

Hashes for db_contrib_tool-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 89b5abaa5de255520e7e8bf82a78d0aac5c9c8e1d2f1a57aa510697a1be968bb
MD5 b165afdf2ad0cdc42b44f3ef9d41732d
BLAKE2b-256 bc8df0fefffa8c4ad9b0de17cbddd08fd6bcfa5c4498653e919e3b7d1257bcb5

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