Open frapontillo opened 10 years ago
My comments:
In the CI section we should add:
a. The CI system performs static analysis on the code (eg. Sonar, Lint) and halts in case of serious issues b. The CI system pushes the app's new strings (only the sources) to Crowdin c. The CI system must automatically update the app's Manifest, while preparing a release (see Git-Flow release cycle) d. There is some mechanism that pulls updated strings before proceeding to build the app, when bumping the version (the major, minor or patch fields only, of course)
MAJOR.MINOR.PATCH-BRANCH.BUILD
pattern, the BRANCH.BUILD
part will cause issues because it will contain unstable
, making the release unsuitable to be promoted on the Play Store.develop
to do simple, one-liner fixes of issues. No point in creating a feature branch when you only have to fix a typo. The versioning stuff stays the same, thou.develop
after each tagged release, if they are still not merged into develop
, to keep the history clean
This issue will be updated with workflow guidelines, that will then be finalized and added to a md file.
Workflow (RFC proposal)
Gitflow
The workflow must follow the gitflow pattern:
feature/*
for new features or delayable bug fixeshotfix/*
for immediate bug fixes that must be propagated to stable, beta and develop channelsdevelop
for project changes, minor changes, etc.Version numbers
The version should follow the
MAJOR.MINOR.PATCH-BRANCH.BUILD
pattern. TheBRANCH.BUILD
part will be useful when releasing CI builds on beta/alpha channels.a. If we are working on the, say,
3.1.2
codebase, every minor update that needs to be pushed to beta and alpha channels must be a simpleBUILD
bump b. When a new version is started, all subsequent changes must be released under a newMAJOR.MINOR.PATCH
(i.e., theBUILD
is reset to0
). c. This way, the app will always be incremental by1
unit number.apk
, so the system may be able to simply touch theBRANCH.BUILD
part.Issues and features
When working on issues and new features:
develop
.develop
.hotfix
orfeature
branch must be in theISSUE-SHORT_DESC
format, so it can be visually connected to an issue.develop
and the related changes have been put into arelease
, thehotfix
orfeature
branch must be deleted.Continuous Integration
We should promptly set up a CI system that, on every commit on
develop
, will take care of:BRANCH.BUILD
in theunstable.###
format.develop
release.apk
somewhere.