Skip to content

Commit 79aada9

Browse files
committed
e2e: updating PR pipeline
1 parent f114908 commit 79aada9

File tree

1 file changed

+48
-14
lines changed

1 file changed

+48
-14
lines changed

doc/pipeline_process.md

+48-14
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[Pipeline for QA](https://github.com/status-im/status-mobile/projects/7) is a project board for developers and testers used to track the status of a pull request, get reviews and manual testing, and run autotests.
44

5-
The generally accepted recommendations for its use are described below:
5+
The generally accepted requirements for its use are described below:
66

77
## Opening a PR
88
- Once a PR is created, it moves to the ```REVIEW``` column where a review will be requested automatically.
@@ -13,35 +13,70 @@ The generally accepted recommendations for its use are described below:
1313
### What if the work is still in progress?
1414

1515
- If PR work is not finished yet, please mark it as a draft or add [WIP] to the title and keep it in the `CONTRIBUTOR` column until it's ready to be reviewed/tested.
16+
- Alternatively, you can open a `draft`.
1617

18+
### When is a PR considered ready to move forward?
1719

18-
### When is a PR considered to be Ready for testing by QA team? 


19-
Ready for testing PR should meet the following criteria:
20+
Ready for testing, a PR should meet the following criteria:
2021

21-
1. Reviewed and has at least 1 approval
22-
2. Rebased to `develop` branch (both `status-mobile` and `status-go` if needed, depending on what part has changes)
23-
3. All possible conflicts have been resolved
24-
4. Has the label: `request-manual-qa`
22+
1. Reviewed and has at least 1 approval.
23+
2. Rebased to the `develop` branch (both `status-mobile` and `status-go` if needed, depending on what part has changes).
24+
- **NOTE:** QAs can use the `Update with rebase` button from GitHub if:
25+
- The PR has no `status-go` changes.
26+
- The PR has no conflict with the develop branch.
27+
3. All possible conflicts have been resolved.
28+
4. Has the label: `request-manual-qa` or `skip-manual-qa`.
29+
5. PRs **MUST** identify what area is affected and should have a description.
2530

31+
**NOTE:** Make sure that QAs are OK with that
32+
33+
### Adding `skip-manual-qa`
34+
35+
- Please ask another team member before adding the `skip-manual-qa` label (PR/Status community/DMs) so that there's a second opinion.
36+
- The PR MUST have a proper reasoning why manual QA is skipped.
37+
- The PR MUST include the steps of testing that has been done by the developer prior to moving it forward.
2638
**From the perspective of a developer it means that once work on PR is finished:**
2739

2840
1. It should be rebased to the latest `develop`. If there are conflicts - they should be resolved if possible.
2941
2. If the PR was in the `Contributor` column - it should be moved to `Review` column.
3042
3. Wait for the review.
3143
4. Make sure that after review and before requesting manual QA your PR is rebased to current develop.
32-
5. Once the PR has been approved by reviewer(s) - label `request-manual-qa` should be applied to the PR
33-
6. Move PR to the E2E column when it is ready for testing (**mandatory for all PRs**). That will also trigger e2e tests run. QAs are monitoring PRs from E2E column and take it into test.
44+
5. The PR **MUST** be moved to the E2E column when it is ready for testing (**mandatory for all PRs**).
45+
That will also trigger e2e tests run. QAs are monitoring PRs from E2E column and take it into test.
46+
47+
6. After that - PR will be taken into manual testing by the QA team.
48+
49+
### E2E tests and analyzing the results
50+
51+
This step cannot be skipped. So, at least one comment from the `status-im-auto` bot with results is a prerequisite for moving forward.
52+
Information on how to analyze tests can be found [here](https://github.com/status-im/status-mobile/blob/develop/doc/how-to-launch-e2e.md).
53+
Tests might be flaky, as they depend on infrastructure - SauceLabs and Waku.
54+
55+
If there are `Failed tests` and you are not sure about the reason, you can always ping the mobile QAs for help (preferably in PRs by `@status-im/mobile-qa`).
3456

35-
After that - PR will be taken into manual testing by the QA team.
57+
**For now, it is the only reliable source of regression in the app because, due to time constraints, it is not possible to test thoroughly each PR.
58+
Please, respect this rule.**
3659

3760
## Testing PR
3861

3962
### Manual testing
40-
- If you think PR needs and is ready for manual testing, please add the ```request-manual-qa``` label.
63+
64+
#### Prerequisites for manual testing
65+
1. PR has a description of the change and details the area of the application affected by the change.
66+
2. PR has automation results from the previous E2E test run step.
67+
3. PR includes a demo, test steps, and any possible regression(s)
68+
4. If appropriate, PR details what elements of a feature are out of scope.
69+
70+
**If one of the prerequisites is missing, the PR will be moved to the contributor folder with a corresponding comment.**
71+
72+
- If you think a PR needs and is ready for manual testing, please add the `request-manual-qa` label.
4173
- QA engineer picks up one of PRs with the ```request-manual-qa``` label, drags the item to the ```IN TESTING``` column and assigns it to themselves.
4274
- During testing, QA will add comments describing the issues found, and also review automation tests results.
4375
Usually found issues are numbered as "Issue 1, Issue 2", etc.
44-
When the first round of testing is completed and all issues for this stage are found, the QA can add the ```Tested - Issues``` label and drag the card to the ```CONTRIBUTOR``` column. These two actions are optional.
76+
When the first round of testing is completed and all issues for this stage are found, the QA can add the ```Tested - Issues``` label and drag the card to the ```CONTRIBUTOR``` column. These two actions are optional.
77+
78+
**IMPORTANT NOTE:** when the issues are fixed, developer **MUST** notify the QA that it is ready to be re-tested again by mention them in the PR.
79+
4580
- When manual testing of the PR is fully completed and all the issues are fixed, the QA adds the ```Tested - OK``` label and drags the card to the ```Design review``` column (the cases when design review is necessary are described below).
4681
- If design review is not required, the QA drags the PR to the ```MERGE``` column. After that the developer merges PR into develop.
4782
- If design review has been done, the designer (```@Francesca-G```) drags the PR to the ```MERGE``` column.
@@ -68,7 +103,7 @@ There are three possible scenarios when the design review is completed:
68103
---
69104

70105
#### Why my PR is in `Contributor` column?
71-
PR can be moved to this column by the ```status-github-bot``` or by QA engineer with label `Tested-issues`.
106+
PR can be moved to this column by the ```status-github-bot``` or by QA engineer with label `Tested-issues` or if one of the requirements for manual QA was not met.
72107
In the first case most often this happens due to conflicting files in PR.
73108
In the second case - after fixing of all found issues, the developer should ping the QA in the PR comments for retesting.
74109

@@ -86,7 +121,6 @@ In the second case - after fixing of all found issues, the developer should ping
86121
6. In case of manual testing - the label ```Tested - OK``` from QA
87122
7. In case of design review - the approval from the designer
88123

89-
90124
You can merge your PR into develop - some useful clues you can find [here](https://notes.status.im/setup-e2e#3-Merging-PR)
91125

92126
HAPPY DEVELOPMENT! :tada:

0 commit comments

Comments
 (0)