maro/CONTRIBUTING.md

2.4 KiB

Contributing to MARO

MARO is newborn for Reinforcement learning as a Service (RaaS) in the resource optimization domain. Your contribution is precious to make RaaS come true.

  • Open issues for reporting bugs and requesting new features.
  • Contribute to examples to share your problem modeling to others.
  • Contribute to scenarios to provide more meaningful environments.
  • Contribute to topologies to enhance existing MARO scenarios.
  • Contribute to algorithms to enrich MARO RL libraries.
  • Contribute to orchestration to broad MARO supported cloud services.
  • Contribute to communication to enhance MARO distributed training capacity.
  • Contribute to tests to make it more reliable and stable.
  • Contribute to documentation to make it straightforward for everyone.

Notes

  • Check Style

    Please make sure lint your code, and pass the code checking before pull request.

    We have prepared a configuration file for isort and flake8 to lint.

    # Install isort.
    pip install isort
    
    # Automatically re-format your imports with isort.
    isort --settings-path .github/linters/tox.ini
    
    # Install flake8.
    pip install flake8
    
    # Lint with flake8.
    flake8 --config .github/linters/tox.ini
    
    # Install editorconfig-checker.
    pip install editorconfig-checker
    
    # Lint with editorconfig-checker.
    # PATH: Directory or file path of your changes.
    editorconfig-checker --config .editorconfig PATH
    
    
  • Update Change Log (if needed)

    # Use --token, when accessing limitation happens.
    # -t, --token [TOKEN]              To make more than 50 requests per hour your GitHub token is required. You can generate it at: https://github.com/settings/tokens/new
    github_changelog_generator -u microsoft -p maro --max-issues 5
    
  • Enable EditorConfig in your editor.