This is a Android application build upon kotlin. This consumes REST-API to access data from Google Firestore. PBC provides consumers to connect with Pittsburgh Buddhist Center.
- Kotlin -- v2.2.0
- Android Gradle plugin -- v8.12.0
- Gradle -- v8.14.3
Build the code by running following command.
$ ./gradlew clean --no-build-cache build -x lint
In this application development, we are trying to follow trunk-base approach for branching. Therefore, if there is any new development or bug-fx or hot-fix available, our development branch will be main branch.
Application is following a pattern to name the release versions & version-codes. Version name built with release year, major or feature drop version, minor or bug-fix. Version-code built with release year, release month and even incremental code [2, 4, 6, 8, 10]
Version name pattern : <release-year>.<major/feature-drop>.<minor/bug-fx>
Example : 2025.1.0
Version code pattern : <release-year><release-month><even-incremental-code>
Example : 20250102
- This project following truck-base model. Assume that all feature development branches merged to main branch when we are planing a release.
- Create a release branch from
mainbranch according to this naming templaterelease/<release-version-name>. Eg:release/2025.1.0. - Update the application versionName and versionCode to new values in
gradle.propertiesfile. - If there are any bugfix branches created to following
releasebranch, them merge them toreleasebranch. - Create a pull request to
mainbranch from release branch. - Merge pull request to
mainand fetchmainbranch change to local. - Run following command to build
.apkfile.$ ./gradlew clean --no-build-cache build -x lint $ ./gradlew clean --no-build-cache assembleRelease - If you want to create a
.aabfile, then use Android Studio -> Build -> Generate Signed Bundle / APK and then select Android App Bundle. - Create a
git tagin bitbucket for PROD release asv<version-name>. Eg:v2025.1.0 - Keep the tag description.
- Login into Google play console.
- From left side menu, select
Release -> Testing -> Internal Testing. - Create a new release by click on
Create new releasebutton on top right corner. - Update load the new
.aabfile. - Verify the build details after uploading completed.
- Update the Release Details by adding
Release name&Release notes. - Click on
Review Releasebutton to continue. - To share on internal testers click on
Start rolloutbutton from review page.
- Login into Google play console.
- From left side menu, select
Release -> Testing -> Internal Testing. - In
Internal Testingthere should be a release already rolling-out for internal testing. - Click
Promote releasebutton in specific release. - Select the which level need to promote the build from following options
| Option | Testing | Description |
|---|---|---|
Close Testing |
Alpha Testing | Available only for internal testing group but build is verified by Google. |
Open Testing |
Beta Testing | Available for open Beta users build is verified by Google. |
Production |
Production | Available for general public. |