- Create a PR in status-mobile
- Add some reviewers to the PR and wait for feedback
- Address feedback
- Make sure builds and tests are green (run
make test
locally,make lint-fix
to fix any indentation issue andmake lint
) - Once the PR has been reviewed by the dev team, run e2e tests on it by going to https://github.com/status-im/status-mobile/projects/7 and move the pr under the column E2E tests. This will trigger tests. Running E2E tests is required for all PRs.
- Read our PR Review Policy for more details on our approach to PR reviews.
- Learn more about our Pipeline for QA process
- Once e2e tests have run, they will report the result on the PR, if it's less than 100%, ask QA to take a look to make sure everything is in order (some might fail for legitimate reasons)
- Ask QA for manual testing if the PR requires it (more details here)
- Once it has been tested successfully, squash everything into one commit. rebase and merge. The commands we use:
git checkout develop
git pull develop
git checkout your-feature-branch
git rebase develop
git checkout develop
git rebase your-feature-branch
git push
If you are introducing status-go changes, the PR process is pretty similar, with some differences.
The most important thing is that
status-mobile code that makes it to the develop
branch, should always point to a tagged version of status-go in the develop
branch of status-go.
In practice, this means that sometimes they need to be merged in lockstep.
- Create a PR in status-go and status-mobile. Update the status-go version to the PR revision
scripts/update-status-go.sh $git_revision
. - Get both PRs reviewed and approved. Once status-mobile PR has been approved, go through manual QA testing if necessary. Don't merge status-mobile PR just yet.
- Now that you know the integration between client & server is working, merge the status-go PR first.
- Once merged, tag the merged commit with the new version and push the tag:
git checkout develop
git pull develop
make tag-version
git push origin vx.y.z
make tag-version TARGET_COMMIT={hash}
. More info about tagging in status-go.
- Update status-mobile with the new status-go version, using the new tag
scripts/update-status-go.sh "vx.y.z"
- If you had to rebase status-go to include new changes, e2e test MUST be re-run. If there's any issue you will have to fix in status-go with another PR and follow the same process.
- In status-mobile, push, rebase against
develop
and merge it 🚀
important note : make sure your status-go PRs get a tested-ok by QA before merging them in.