We'd love to accept your patches and contributions to this project. There are just a few small guidelines you need to follow.
Contributions to this project must be accompanied by a Contributor License Agreement. You (or your employer) retain the copyright to your contribution; this simply gives us permission to use and redistribute your contributions as part of the project. Head over to https://cla.developers.google.com/ to see your current agreements on file or to sign a new one.
You generally only need to submit a CLA once, so if you‘ve already submitted one (even if it was for a different project), you probably don’t need to do it again.
All submissions, including submissions by project members, require review. We use Gerrit for this purpose. Consult Gerrit Help for more information on using gerrit.
This project follows Google's Open Source Community Guidelines.
crossbench tries to follow Google's Python Style Guide.
poetry run pytest tests/crossbench/ --cov=crossbench --cov-report=html
.if TYPE_CHECKING
block.Any
.poetry run mypy crossbench --check-untyped-defs
.poetry run pytype -j auto crossbench
.Any non-trivial configuration should use a dedicate ConfigObject. We get many benefits from using ConfigObject and ConfigParsers:
Coding guidelines:
parse_dict
.parse_str
, they are useful on the command line.crossbench.parse
.argparse.ArgumentTypeError
so we get proper warning on the cli.config/doc
and make sure these files are parsed and unittested.The supported python versions are listed in the .vpython3
and the pyproject.toml
file. This has to be in sync with chrome infra's vpython3 version.
poetry update
.vpython3