Skip to content

Commit b1e1f41

Browse files
authored
guidance for contribution (#320)
1 parent 26ff2ce commit b1e1f41

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

website/docs/Contribute.md

+40
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,38 @@ print(autogen.__version__)
5454

5555
There is currently no formal reviewer solicitation process. Current reviewers identify reviewers from active contributors. If you are willing to become a reviewer, you are welcome to let us know on discord.
5656

57+
## Guidance for Maintainers
58+
59+
### General
60+
61+
* Be a member of the community and treat everyone as a member. Be inclusive.
62+
* Help each other and encourage mutual help.
63+
* Actively post and respond.
64+
* Keep open communication.
65+
66+
### Pull Requests
67+
* For new PR, decide whether to close without review. If not, find the right reviewers. The default reviewer is microsoft/autogen. Ask users who can benefit from the PR to review it.
68+
* For old PR, check the blocker: reviewer or PR creator. Try to unblock. Get additional help when needed.
69+
* When requesting changes, make sure you can check back in time because it blocks merging.
70+
* Make sure all the checks are passed.
71+
* For changes that require running OpenAI tests, make sure the OpenAI tests pass too. Running these tests requires approval.
72+
* In general, suggest small PRs instead of a giant PR.
73+
* For documentation change, request snapshot of the compiled website, or compile by yourself to verify the format.
74+
* For new contributors who have not signed the contributing agreement, remind them to sign before reviewing.
75+
* For multiple PRs which may have conflict, coordinate them to figure out the right order.
76+
* Pay special attention to:
77+
- Breaking changes. Don’t make breaking changes unless necessary. Don’t merge to main until enough headsup is provided and a new release is ready.
78+
- Test coverage decrease.
79+
- Changes that may cause performance degradation. Do regression test when test suites are available.
80+
- Discourage **change to the core library** when there is an alternative.
81+
82+
### Issues and Discussions
83+
* For new issues, write a reply, apply a label if relevant. Ask on discord when necessary. For roadmap issues, add to the roadmap project and encourage community discussion. Mention relevant experts when necessary.
84+
* For old issues, provide an update or close. Ask on discord when necessary. Encourage PR creation when relevant.
85+
* Use “good first issue” for easy fix suitable for first-time contributors.
86+
* Use “task list” for issues that require multiple PRs.
87+
* For discussions, create an issue when relevant. Discuss on discord when appropriate.
88+
5789
## Developing
5890

5991
### Setup
@@ -82,6 +114,14 @@ We have provided the configuration in [devcontainer](https://github.com/microsof
82114
Run `pre-commit install` to install pre-commit into your git hooks. Before you commit, run
83115
`pre-commit run` to check if you meet the pre-commit requirements. If you use Windows (without WSL) and can't commit after installing pre-commit, you can run `pre-commit uninstall` to uninstall the hook. In WSL or Linux this is supposed to work.
84116

117+
### Write tests
118+
119+
Tests are automatically run via GitHub actions. There are two workflows:
120+
1. [build.yml](https://github.com/microsoft/autogen/blob/main/.github/workflows/build.yml)
121+
1. [openai.yml](https://github.com/microsoft/autogen/blob/main/.github/workflows/openai.yml)
122+
123+
The first workflow is required to pass for all PRs. The second workflow is required for changes that affect the openai tests. The second workflow requires approval to run. When writing tests that require openai, please use [`pytest.mark.skipif`](https://github.com/microsoft/autogen/blob/a456b512d5a933ce9707ce51c465ea35a9dd180c/test/test_with_openai.py#L13) to make them run in one python version only when openai is installed. If additional dependency for this test is required, install the dependency in the corresponding python version in [openai.yml](https://github.com/microsoft/autogen/blob/main/.github/workflows/openai.yml).
124+
85125
### Coverage
86126

87127
Any code you commit should not decrease coverage. To run all unit tests, install the [test] option:

0 commit comments

Comments
 (0)