For local development the Android module directly depends on the local shared version (gradle project dependency). When releasing the published library version is used.
For a guide to use a local version of the KMM module see KMMBridge local dev spm
The main branch contains the
Package.swift file ready for local dev.
./gradlew spmDevBuild(must be run after each change in the KMM module)
Production release is triggered on push to main. The CI then builds the app and deploys it to
internal Track on Google Play. After testing the app then must be promoted to production
manually from there. A tag in the form of
android/major.minor.patch (e.g. android/1.0.0) is
created. (see publishAndroid.yml)
Do not forget to bump the android version (version.properties) on the dev branch after a production release was made.
On each push to develop a lava (dev) build is triggered and published to
internal track of
the WaiterRobot Lava app on Google Play. A tag in the form
android/major.minor.patch-lava-epochMinutes is created (e.g. android/1.0.1-lava-27935730). (
A release is triggered on push to main or develop (only when shared module changed). The CI then
builds the shared Xcode Framework (Swift Package) and the shared Android library. Both artifacts
are uploaded to the GitHub Package registry. A tag in the form of
e.g. 1.0.0) is created. (see publishShared.yml)
Unfortunately SPM does not support custom tag prefixes (e.g. shared/1.0.0) and kmmbridge does not support tag suffixes (without creating a custom release action). Therefor the currently the no shared identifier is added to the tag of shared releases.
|Last commit: 13 hours ago|