Manage Evergreen modules locally.
Project description
Evergreen Module Manager
Manage Evergreen modules in your local environment.
Table of contents
Description
The evg-module-manager is a tool to help improve the local workflows of working with modules in your evergreen projects. It will help you keep any modules defined in your local project in sync. It supports the following functionality:
- List what modules are defined in the local project.
- List what modules are currently active in your local repo.
- Clone a module repository.
- Enable/disable modules in your local repo.
- Create an evergreen patch build that includes changes from the local patch build and all enabled modules.
- Submit a changes to the commit-queue that includes changes from the local patch build and all enabled modules.
Dependencies
- Python 3.8 or later
- git
- evergreen command line tool
- Evergreen config file
Installation
We strongly recommend using a tool like pipx to install this tool. This will isolate the dependencies and ensure they don't conflict with other tools.
$ pipx install evg-module-manager
Usage
See the usage documentation for details about using this tool.
evg-module-manager --help
Usage: evg-module-manager [OPTIONS] COMMAND [ARGS]...
Evergreen Module Manager is a tool help simplify the local workflows of evergreen modules.
Options:
--modules-dir PATH Directory to store module repositories [default='..']
--evg-config-file PATH Path to file with evergreen auth configuration
[default='/Users/user/.evergreen.yml']
--evg-project TEXT Name of Evergreen project [default='mongodb-mongo-master']
--help Show this message and exit.
Commands:
commit-queue Submit changes from the base repository and any enabled modules to the...
create-branch Perform git checkout operation to create the branch.
disable Disable the specified module in the current repo.
enable Enable the specified module in the current repo.
git-commit Perform git commit of changes in each module.
list-modules List the modules available for the current repo.
patch Create an Evergreen patch with changes from the base repo and any enabled...
update-branch Perform git merge|rebase operation to update the branch.
Contributor's Guide
Setting up a local development environment
This project uses poetry for setting up a local environment.
git clone ...
cd evg-module-manager
poetry install
linting/formatting
This project uses black and isort for formatting.
poetry run black src tests
poetry run isort src tests
Running tests
This project uses pytest for testing.
poetry run pytest
Automatically running checks on 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
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.
Deployment
Deployment to pypi is automatically triggered on merges to main.
Resources
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
File details
Details for the file evg-module-manager-0.1.6.tar.gz
.
File metadata
- Download URL: evg-module-manager-0.1.6.tar.gz
- Upload date:
- Size: 17.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.9.9 Linux/5.11.0-1021-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2fad68d3e97cb51b9ec7cdee22a736a4f8cd93070f0f066160f61a4b7848892f |
|
MD5 | bf1b065e7199d5e176f7c6f4cc8c7544 |
|
BLAKE2b-256 | b1f0cc72105c2523471b107027bd7a0e2378284b75f7fc2359e5afc8f012a856 |
Provenance
File details
Details for the file evg_module_manager-0.1.6-py3-none-any.whl
.
File metadata
- Download URL: evg_module_manager-0.1.6-py3-none-any.whl
- Upload date:
- Size: 18.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.9.9 Linux/5.11.0-1021-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2ae9980baf8a9f28b8dd6a60a8ff87787437a39d7578617eb8f9d8881d29696 |
|
MD5 | 2a52287b67dd0cba72d707fa55d3c6d1 |
|
BLAKE2b-256 | 8596b8c8c32a3f5ccb18e1c208b25bddd2cfe719b57c16290fec62757d9ebb77 |