-
Notifications
You must be signed in to change notification settings - Fork 173
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
proposal: Adding integration tests when submitting a PR #699
Comments
chinese: 可以帮忙一起 review 下提案哈 @mosn/layotto-commiter @mosn/layotto-pmc @mosn/layotto-admins @mosn/layotto-member |
There are many different types of pull requests, e.g. bug fix, documentation, demo, new feature, etc. |
may be ut is better, ci complexity is too high。Can ask users to post their own test reports。 |
Yes, only those new feature pull requests are concerned here. |
UT can't find out bugs. But integration tests can. Examples are #669 and #574
You can list the pain points you met. We can try to improve it.
Manual testing has the following disadvantages:
|
From my perspective, the current issue I think it is an answer to So the solution is that "separate the large PRs into small ones", it is a good way to resolve the And it is a suggestion to all contributors, if a feature/refactoring task is too big, consider creating an issue, and separating the tasks into an issue and add some descriptions on it, if the maintainers in community think it is good to go on, the tasks can get started to go on, if not, separate the tasks properly again according to the suggestions of maintainers. Take this one as an example #532, imagine that if I start only one PR to fix all tasks in this issue, it could drive reviewers crazy. Maintainers should control the scale of a PR, if it is too big, it is hard to maintain, this is the only way to solve this issue. Contributors and maintainers should keep a good communications by actively exchanging messages and ideas, it can prevent this issue deeply, not just rely on the CI, and make it too heavy by adding countless complex @mosn/layotto-commiter @mosn/layotto-pmc @mosn/layotto-admins @mosn/layotto-member How do you forks think? |
If i want to run oss ci , i need provide my ak、sk in configure file? |
I support this approach. The reviewer is indeed obliged to control the size of the pr to facilitate understanding and review. At the same time, I think ci can ensure the robustness of the entire code, but it will not be of much help for the review code. A pr of a suitable size, plus a simple demo is enough. |
@wenxuwan That's easy to solve because we can configurate it in the repo setting. I can help with it |
@Xunzhuo Thanks for your great suggestion. It makes sense! However..... I still think that "PR too large" is just one of the reasons that lead to the difficulty of review (of course, it's the most important reason) I think the reasons that make me feel hard to review include:
Anyway, since you guys are not interested in adding integration tests, I'll compromise and give up this proposal :) |
Definitely correct! We need the design docs, we should control the size of a PR and we should ask contributors to follow a good way to implement a feature or refactor task, after having an agreement on the design docs, we split tasks into small ones and get it started. |
|
Yes, that's another reason I think I should give up this proposal. Asking too much will hurt the contributor experience 😢 |
What a big PR (feature/refactor) should be processed?
Maintainers add comments/advice on this issue, and if no one have -1 for this task, move to step 2.
|
Yes both are Okay, if no one wants to take this issue, it should be added by maintainers. |
This issue has been automatically marked as stale because it has not had recent activity in the last 30 days. It will be closed in the next 7 days unless it is tagged (pinned, good first issue or help wanted) or other activity occurs. Thank you for your contributions. |
This issue has been automatically closed because it has not had activity in the last 37 days. If this issue is still valid, please ping a maintainer and ask them to label it as pinned, good first issue or help wanted. Thank you for your contributions. |
What problem does this proposal solve
Our code review process is slow, and hard. I want to make PR review faster.
We added some linters in CI, but that's far not enough. PR review is still hard 😢 and still slow
Analyze
Model
We can model "PR review" into different phases:
Triage
Design review
Review the design docs (if any) or API definition.
Test case review
Review there are enough test cases covering different corner cases.
Test
Code review
Finally, we start to review code details.
Pain points
Solutions
We add new PR specification. PR with new features should:
add new integration test cases
We can take the "quickstart" markdown docs as "integration tests"
For example, to review and test fix: restrict
secretFile
path #669 , I submitted chore: usestart --config
parameters in some demos #698 as the integration testsadd those tests into CI.
After writing the quickstart docs, a PR should add it into the CI.
For more details, see
https://mosn.io/layotto/#/zh/development/test-quickstart?id=step-5-%e4%bf%ae%e6%94%b9-ci%e8%87%aa%e5%8a%a8%e6%b5%8b%e8%af%95%e6%96%b0%e5%86%99%e7%9a%84-quickstart-%e6%96%87%e6%a1%a3
The text was updated successfully, but these errors were encountered: