Skip to content

Latest commit

 

History

History
132 lines (78 loc) · 10.2 KB

CONTRIBUTING.md

File metadata and controls

132 lines (78 loc) · 10.2 KB

Contributor's Guide

This project welcomes community contributions in the form of Issues and Pull Requests. Please note that by participating in this project, you agree to abide by the Code of Conduct and the terms of the CLA.

If you have a question, have discovered an issue or perhaps you would like to propose an enhancement or idea, please file an issue report BEFORE commencing work on it.

Contribution scope for Cloud-Scale Analytics Scenario

The following is the scope of contributions to this repository:

As the Azure platform evolves and new services and features are validated in production with customers, the design guidelines will be updated in the overall architecture context. With new Services, Resources, Resource properties and API versions, the implementation guide and reference implementation must be updated as appropriate.

Issue Reports

We are encouraging you to select between a Bug Report, a Feature Request, a Documentation Issue and a Vulnerability Report when opening a new Issue in this repository. Please provide all the required information for the respective issue reports and make sure you accept the Code of Conduct.

Before submitting a report, please search through the open and closed issues in this repository as well as through the Known Issues. If a similar issue already exists, please up-vote the existing issue comment(s) or leave a comment instead of opening a new issue. This helps us reduce the number issues and also simplifies the management on our side. Only if no existing item describes your issue report we encourage you to file a new one.

Bug Report

Submit new bug reports using the "Bug Report" issue template. When submitting a bug report, please try to be as specific as possible by including a detailed description of how to reproduce the issue and also share any error messages or screenshots if possible. This will help us troubleshoot the bug/issue and apply fixes in a timely fashion.

Feature Request

New feature requests and ideas must be submitted using the "Feature Request & Ideas" issue template. Please be specific about the "What?" and "Why?" by sharing what the feature entails and what the benefits of including this feature will be.

Documentation Issue

Documentation issues should be submitted using the "Documentation Issue" issue template. Please be specific about which document needs to be updated and why.

Vulnerability Report

Please read through the security policy before submitting a vulnerability report. After reading through the guidelines, you can use the "Microsoft Security Response Center" to submit a new vulnerability.

Pull Requests

We encourage users to not only submit issues but also start contributing to the repository by opening pull requests to fix issues that were submitted previously. Please always submit an issue before opening a pull request to make the team aware of the requested change and to be able to discuss the possible implications of proposed changes. Some issues or features may be quick and simple to describe and understand while others may require a detailed spec to agree on changes.

Getting Started

Before starting to develop, you should fork this repository (see this forking guide for more information). Next, you should checkout the repository locally with git clone git@github.com:{your_username}/{repo_name}.git.

Tooling

To help you contribute to the project more easily, you can find a development container definition in the .devcontainer folder of this repository. The development container has all the necessary tools and VS Code extensions enabled to provide you a curated development environment in which you can start developing without requiring you to install VS Code extensions on your local machine. Dev containers can be used via the VS Code Remote - Containers extension or GitHub Codespaces.

If you would like to work inside your local environment, you should install the following tools locally:

  • PowerShell Core
  • Azure CLI
  • Git
  • VS Code

In addition, we recommend you to install the following VS Code extensions:

  • Azure Account
  • Azure CLI Tools
  • Azure Resource Manager (ARM) Tools
  • Bicep
  • PowerShell`

Development

When working on the Infrastructure as Code (IaC) definitions in this repository, please be aware that you must always change the bicep code. The ARM templates, which you can also find i this repository, are just auto generated by building the Bicep definitions.

Therefore, you should follow the following development cycle:

  1. Make changes to the Bicep code.
  2. Build the new Bicep project by running az bicep build -f main.bicep.
  3. Commit all files to your branch.
  4. Submit your pull request.

Pull Request Information

Before opening a pull request, ensure that an issue has been created to track the feature enhancement or bug that is being fixed. In the PR description, make sure you are linking the issue that this PR is about to close. To avoid multiple contributors working on the same issue, please add a comment to the issue that your are planning to work on.

If the pull request is still work in progress, please open the pull request in draft mode.

Testing

Testing is a key component in the development workflow. We run automated tests on all pull requests to enforce strict linting rules and also make sure that changes introduced to the IaC are not introducing code degradation.

Code Review

If you want the team to review the changes, mark the pull request as "Ready for review". The team will get back to you and approve the PR, provide comments or request changes if necessary. The review process may take a few cycles in order to ensure that all content is of high quality and well structured.

Merge

After the pull request has been reviewed and approved, the feature branch will be merged into the main branch and automatically closed and deleted.

Stewardship of the code repository

The Cloud-Scale Analytics Scenario code repository are maintained by the code owners. The repository including language, design, policy oversight, and reference implementations. Elevated privileges will be solely based on active contributions in the project repository.

User may be given elevated privileges once approved by the currents members. All members abide by all organizational polices, including the code of conduct. Elevated privileges can be withdrawn in the case of written notice of resignation or if the member is unreachable or unresponsive for extended time.

The following users have elevated privileges:

NAME GitHub Handle Affiliated Organization
Marvin Buss @marvinbuss Microsoft
Espen Brandt-Kjelsen @esbran Microsoft
Uday Pandya @uday31in Microsoft
Amanjeet Singh @amanjeetsingh Microsoft
Andre Hass @andrehass Microsoft
Roberto Cavalcanti @rocavalc Microsoft
Sanem Sever @sasever Microsoft

Responsibilities

Code owners are responsible for reviewing and approving issues proposing new features or design changes in the repository. The initial owners consists of Microsoft employees. It is expected that over time, community will grow and new community members will join. Privileges are heavily dependent on the level of contribution and expertise: individuals who contribute in meaningful ways to the project will be recognized accordingly.

At any point in time, current contributors can nominate a strong community member to increased responsibilities. Nominations should be submitted in the form of RFCs detailing why that individual is qualified and how they will contribute. After the RFC has been discussed, a unanimous vote will be required for the new Committee Member to be confirmed.

Community Collaboration

Established community members are expected to demonstrate their adherence to the principles in this document, familiarity with project organization, roles, policies, procedures, conventions, etc., and technical and/or writing ability. Role-specific expectations, responsibilities, and requirements are enumerated below, adhering the principle of OpenSource contribution and governance:

Role Responsibilities Requirements
Member Active contributor in the community Sponsored by 2 reviewers and multiple contributions to the code
Reviewer Review contributions from other members History of review and authorship of the code
Approver Contributions acceptance approval Highly experienced active reviewer and contributor to the code
Code repository owners Set direction and priorities for the project Demonstrated responsibility and excellent technical judgement for the the content of the repository

CLA

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repositories using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.