Skip to content
This repository was archived by the owner on Feb 23, 2024. It is now read-only.

Commit 7dba665

Browse files
authored
(#642) Contributing Guide (#681)
* (#642) Contributor Guide
1 parent 26a37c3 commit 7dba665

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

CONTRIBUTING.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Contributing to the Azure API Management DevOps Resource Kit
2+
3+
We welcome community contributions to the DevOps Resource Kit. We do, however, ask that you follow some basic rules
4+
when contributing.
5+
6+
## Filing Issues
7+
8+
Filing issues is a great way to contribute to the SDK. Here are some guidelines:
9+
10+
* If filing a bug or feature request for Creator or Extractor, ensure you use the appropriate template.
11+
* Include as much detail as you can be about the problem or feature.
12+
* Github supports markdown, so when filing bugs make sure you check the formatting before clicking submit.
13+
14+
## Contributing Code
15+
16+
We welcome code contributions via GitHub Pull Request (PR).
17+
18+
* All code contributions must have an associated issue that provides detail on what your pull request is fixing.
19+
* All code contributions must include tests for the new or fixed functionality.
20+
21+
## Development Environment Setup
22+
23+
The Extractor and Creator are written in .NET Core. Our basic environment is:
24+
25+
* .NET Core 3.1 LTS (we are intending on updating to .NET 6 in the near future).
26+
* Visual Studio 2022
27+
28+
You can open the solution as you would any other Visual Studio solution.
29+
30+
## Coding Guidelines
31+
32+
Just follow the existing patterns already present in the code. If we object to the style, we will say so during the code review.
33+
34+
## Submitting Pull Requests
35+
36+
Before we can accept your pull-request you'll need to sign a [Contribution License Agreement (CLA)](http://en.wikipedia.org/wiki/Contributor_License_Agreement).
37+
However, you don't have to do this up-front. You can simply clone, fork, and submit your pull-request as usual.
38+
39+
The pull request must meet the following requirements:
40+
41+
* One pull request per issue - do not fix multiple issues in the same pull request without talking to us.
42+
* Include tests for the new or updated functionality.
43+
* Title: `(#<issue>) <functionality>` - this ensures the issue and pull request are linked by GitHub.
44+
* Content: must include `Closes #<issue>` - this ensures the issue is closed when the PR is merged.
45+
46+
Once the pull request is submitted, there are three phases:
47+
48+
1. The build and test is automatically run. If the build/test fails, you need to correct the issues before proceeding.
49+
1. A human reviewer will ensure that you have added tests to cover the new functionality. We will ask for tests before proceeding.
50+
1. A human reviewer will do a code review, identifying any coding issues. Feel free to discuss and resolve any issues within the PR.
51+
52+
Once a maintainer approves the PR, it will be merged.
53+
54+
## Releases
55+
56+
We release whenever there are significant changes. To release, a maintainer will generate a release tag. This will set off a
57+
build and test process that automatically uploads the artifacts to GitHub releases. You can always find the latest release on
58+
GitHub releases.
59+
60+
If your issue is fixed but has not been released yet, you can run a build yourself. The Azure Pipelines configuration we use to
61+
build and release is in the `.azure-pipelines` directory within the repository.

0 commit comments

Comments
 (0)