Android App¶
Basics¶
Repository: github.com/stepuplabs/settle-up-android
Git flow¶
Git branches¶
master: Code that should be stable and considered release candidatefeature/*: Work in progress, but it should build
Fixes, improvements, or small features¶
- Do the work in
masterbranch. Limit number of commits, since every commit increases version number.
Large features, refactorings¶
- Create
feature/*branch and do whatever is needed there, you don't need to care about number of commits - Every commit to feature branch triggers deploy to Firebase App Distribution, see more details in Build distribution
- When the feature is stable, merge it to master with squash (just to 1 commit)
- Delete branch after merging
Release process¶
- Every commit
masterbranch triggers deploy to Google Play Internal testing, see more details in Build distribution - When ready for release, write a changelog and notify QA
- When QA gives ðŸ¦, go to Google Play Console → Test and release → Latest releases
- Find the build in internal testing, add release notes
- Then click Promote release and select Open testing, release to 100% there
- Go back to internal testing build, click Promote Release, select Production
- If it's a critical bugfix, release to 100%. If it's a large refactoring, set 10%. If it's normal feature, set 30%
- Go to Publishing overview and send changes to review
- Wait for review and also at least for a day for crashes to collect
- When you see no significant new crashes, update rollout to 100%
- If you see significant new crashes, repeat release process, it will halt current rollout