Skip to main content

Library for creating evergreen configurations

Project description

shrub.py -- A python based Evergreen project config generation library

Overview

Based on shrub, shrub.py is a library for programatically building Evergreen project configurations described here.

Example

The following snippet will create a set of parallel tasks reported under a single display task. It would generate json used by generate.tasks:

        n_tasks = 10
        c = Configuration()

        task_names = []
        task_specs = []

        for i in range(n_tasks):
            name = "aggregation_multiversion_fuzzer_{0:03d}".format(i)
            task_names.append(name)
            task_specs.append(TaskSpec(name))
            t = c.task(name)
            t.dependency(TaskDependency("compile")).commands([
                CommandDefinition().function("do setup"),
                CommandDefinition().function("do multiversion setup"),
                CommandDefinition().function("run jstestfuzz").vars({
                    "jstestfuzz_var": "--numGeneratedFiles 5",
                    "npm_command": "agg-fuzzer",
                }),
                CommandDefinition().function("run tests").vars({
                    "continue_on_failure": "false",
                    "resmoke_args": "--suites=generational_fuzzer",
                    "should_shuffle": "false",
                    "task_path_suffix": "false",
                    "timeout_secs": "1800",
                })
            ])

        dt = DisplayTaskDefinition("aggregation_multiversion_fuzzer")\
            .components(task_names)
        c.variant("linux-64").tasks(task_specs).display_task(dt)

        c.to_json()

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

shrub.py-0.2.2.tar.gz (12.0 kB view details)

Uploaded Source

Built Distribution

shrub.py-0.2.2-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

File details

Details for the file shrub.py-0.2.2.tar.gz.

File metadata

  • Download URL: shrub.py-0.2.2.tar.gz
  • Upload date:
  • Size: 12.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.6

File hashes

Hashes for shrub.py-0.2.2.tar.gz
Algorithm Hash digest
SHA256 3852326db2a70c9fec3cea5cf04d7fb322bf9d52d1f48fc6b51cdc3c32d75a00
MD5 4a232c191e7a0e9076ce318b70a80d78
BLAKE2b-256 6eb187c9394913a552864e0c0b70ab00e76d095dd0d29021733ce64b675d907f

See more details on using hashes here.

File details

Details for the file shrub.py-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: shrub.py-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 17.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.6

File hashes

Hashes for shrub.py-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 75e76e84e530320fc3042485df5fa4c2466e83cf78f97ca5ed13146211842f0e
MD5 1f327ffdd867b63ee79fc587be05ba3d
BLAKE2b-256 a9264562454e68068d55c905841fe1609e9c6df9a0f6b44a840e1694d74db252

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