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.
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.
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.
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.
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 issues should be submitted using the "Documentation Issue" issue template. Please be specific about which document needs to be updated and why.
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.
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.
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
.
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`
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:
- Make changes to the Bicep code.
- Build the new Bicep project by running
az bicep build -f main.bicep
. - Commit all files to your branch.
- Submit your pull request.
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 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.
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.
After the pull request has been reviewed and approved, the feature branch will be merged into the main branch and automatically closed and deleted.
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 |
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.
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 |
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.