OwnTracks Android uses Github Actions to build, test and release.
Assembles the debug and release variants of both GMS and OSS flavours. Also compiles the test sources, then runs the unit tests (with coverage) and the Android lint.
Runs the F-Droid server scanner against the OSS Release APK to make sure that no non-free components snuk into the release.
Runs the espresso tests. Can be parameterized over which flavour to run (OSS/GMS), parallelism, the Android API version of the emulator to use. Uploads coverage to CodeCov
Uploads the release bundle of the GMS flavour to the Google Play Store internal testing track.
Three main workflows:
Build and Test
runs thebuild-test-lint
,fdroid-scanner
,espresso-test
(matrixed across oss/gms flavours) andpublish-to-play-store
jobs. Triggered on every commit tomaster
that changes the source.Android Release
pulls the appropriate secrets and then assembles arelease
variant of thegms
flavour, before uploading to the right Google Play Store track.Close stale issues and PRs
closes open issues that are waiting a response and haven't received one in a while.
There's 3 GHA workflows that help manage PRs and releases.
Triggered by a version tag, this workflow creates a Github Release, fetches the APKs from the corresponding CircleCI workflow and attaches them to the release, and finally promotes the Play Store build between either internal and beta, beta and production or internal and production (depending on whether it's a beta tag or not).