azure-sdk-tools/CONTRIBUTING.md

2.3 KiB

Azure SDK Tools Contribution Guidelines

This is the repository used to host tools and libraries used by Azure SDK team engineering system. We allow to create tools in any language suitable for the tools. For every newly developing tool, create a new folder with brief description on its name. Do not add third party tools directly in your folder, use it as dependencies.

Coding Guidelines

See language specific guidelines:

Codeowners

Add code owner in CODEOWNERS with following format:

/tools/<tool-name>/ @owner1 @owner2

README

  1. Add README.md file for every tool to illustrate:
  • The purpose of the tool.
  • Prerequisites before use.
  • How to use, test and maintain the tool locally and remotely.
  • Better to include where the tool is being used.
  • Example: README.md
  1. Add tool details to the index in root README.md.

Testing

Provide certain test cases to cover important workflow, especially on how it gets used in azure pipelines or running in prod.

Example: Test library

If there is any bundle script, do provide end-to-end test on script as well.

Example: Custom Test on ci.yml

Release ci.yml

  • For the tool which is publishing to public repository, do provide ci.yml for building, testing and releasing.

Example: ci.yml

  • Pipelines should use common templates from eng/pipelines/templates.

The naming convention of the pipelines: tools - <tool-name> - ci for the public builds and tools - <tool-name> for internal builds.