8000 Copybara import of the project: · GeekyprogrammerEJ/adk-python@97d29a1 · GitHub
[go: up one dir, main page]

Skip to content

Commit 97d29a1

Browse files
hangfeicopybara-github
authored andcommitted
Copybara import of the project:
-- 41329f0 by Hangfei Lin <hangfei@google.com>: doc: Update CONTRIBUTING.md to include testing requirements -- 380b82e by Hangfei Lin <hangfei@google.com>: doc: Update CONTRIBUTING.md -- 61e81d8 by Hangfei Lin <hangfei@google.com>: doc: Update CONTRIBUTING.md COPYBARA_INTEGRATE_REVIEW=google#541 from google:hangfei-patch-1 63d5c56 PiperOrigin-RevId: 754541490
1 parent a7b4c98 commit 97d29a1

File tree

1 file changed

+81
-16
lines changed

1 file changed

+81
-16
lines changed

CONTRIBUTING.md

Lines changed: 81 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,23 @@
22

33
We'd love to accept your patches and contributions to this project.
44

5+
## Table of Contents
6+
7+
- [Before you begin](#before-you-begin)
8+
- [Sign our Contributor License Agreement](#sign-our-contributor-license-agreement)
9+
- [Review our community guidelines](#review-our-community-guidelines)
10+
- [Contribution workflow](#contribution-workflow)
11+
- [Finding Issues to Work On](#finding-issues-to-work-on)
12+
- [Requirement for PRs](#requirement-for-prs)
13+
- [Large or Complex Changes](#large-or-complex-changes)
14+
- [Testing Requirements](#testing-requirements)
15+
- [Unit Tests](#unit-tests)
16+
- [End-to-End (E2E) Tests](#manual-end-to-end-e2e-tests)
17+
- [Documentation](#documentation)
18+
- [Development Setup](#development-setup)
19+
- [Code reviews](#code-reviews)
20+
21+
522
## Before you begin
623

724
### Sign our Contributor License Agreement
@@ -23,7 +40,68 @@ sign a new one.
2340
This project follows
2441
[Google's Open Source Community Guidelines](https://opensource.google/conduct/).
2542

26-
## Contribution process
43+
## Contribution workflow
44+
45+
### Finding Issues to Work On
46+
47+
- Browse issues labeled **`good first issue`** (newcomer-friendly) or **`help wanted`** (general contributions).
48+
- For other issues, please kindly ask before contributing to avoid duplication.
49+
50+
51+
### Requirement for PRs
52+
53+
- All PRs, other than small documentation or typo fixes, should have a Issue assoicated. If not, please create one.
54+
- Small, focused PRs. Keep changes minimal—one concern per PR.
55+
- For bug fixes or features, please provide logs or screenshot after the fix is applied to help reviewers better understand the fix.
56+
- Please include a `testing plan` section in your PR to talk about how you will test. This will save time for PR review. See `Testing Requirements` section for more details.
57+
58+
### Large or Complex Changes
59+
For substantial features or architectural revisions:
60+
61+
- Open an Issue First: Outline your proposal, including design considerations and impact.
62+
- Gather Feedback: Discuss with maintainers and the community to ensure alignment and avoid duplicate work
63+
64+
### Testing Requirements
65+
66+
To maintain code quality and prevent regressions, all code changes must include comprehensive tests and verifiable end-to-end (E2E) evidence.
67+
68+
69+
#### Unit Tests
70+
71+
Please add or update unit tests for your change. Please include a summary of passed `pytest` results.
72+
73+
Requirements for unit tests:
74+
75+
- **Coverage:** Cover new features, edge cases, error conditions, and typical use cases.
76+
- **Location:** Add or update tests under `tests/unittests/`, following existing naming conventions (e.g., `test_<module>_<feature>.py`).
77+
- **Framework:** Use `pytest`. Tests should be:
78+
- Fast and isolated.
79+
- Written clearly with descriptive names.
80+
- Free of external dependencies (use mocks or fixtures as needed).
81+
- **Quality:** Aim for high readability and maintainability; include docstrings or comments for complex scenarios.
82+
83+
#### Manual End-to-End (E2E) Tests
84+
85+
Manual E2E tests ensure integrated flows work as intended. Your tests should cover all scenarios. Sometimes, it's also good to ensure relevant functionality is not impacted.
86+
87+
Depending on your change:
88+
89+
- **ADK Web:**
90+
- Use the `adk web` to verify functionality.
91+
- Capture and attach relevant screenshots demonstrating the UI/UX changes or outputs.
92+
- Label screenshots clearly in your PR description.
93+
94+
- **Runner:**
95+
- Provide the testing setup. For example, the agent definition, and the runner setup.
96+
- Execute the `runner` tool to reproduce workflows.
97+
- Include the command used and console output showing test results.
98+
- Highlight sections of the log that directly relate to your change.
99+
100+
### Documentation
101+
102+
For any changes that impact user-facing documentation (guides, API reference, tutorials), please open a PR in the [adk-docs](https://github.com/google/adk-docs) repository to update relevant part before or alongside your code PR.
103+
104+
### Development Setup
27105
1. **Clone the repository:**
28106

29107
```shell
@@ -53,21 +131,8 @@ This project follows
53131
```shell
54132
uv run pyink --config pyproject.toml ./src
55133
```
56-
57-
### Requirement for PRs
58-
59-
- All PRs, other than small documentation or typo fixes, should have a Issue assoicated. If not, please create one.
60-
- Small, focused PRs. Keep changes minimal—one concern per PR.
61-
- For bug fixes or features, please provide logs or screenshot after the fix is applied to help reviewers better understand the fix.
62-
- Please add corresponding testing for your code change if it's not covered by existing tests.
63-
64-
### Large or Complex Changes
65-
For substantial features or architectural revisions:
66-
67-
- Open an Issue First: Outline your proposal, including design considerations and impact.
68-
- Gather Feedback: Discuss with maintainers and the community to ensure alignment and avoid duplicate work
69-
70-
### Code reviews
134+
135+
## Code reviews
71136

72137
All submissions, including submissions by project members, require review. We
73138
use GitHub pull requests for this purpose. Consult

0 commit comments

Comments
 (0)
0