https://github.com/f-droid/ci-images-client
mirror of https://gitlab.com/fdroid/ci-images-client
https://github.com/f-droid/ci-images-client
android-emulator ci docker fdroid gitlab-ci
Last synced: about 1 year ago
JSON representation
mirror of https://gitlab.com/fdroid/ci-images-client
- Host: GitHub
- URL: https://github.com/f-droid/ci-images-client
- Owner: f-droid
- Created: 2019-10-21T08:56:47.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-07-06T12:00:14.000Z (almost 4 years ago)
- Last Synced: 2025-03-23T23:43:12.654Z (about 1 year ago)
- Topics: android-emulator, ci, docker, fdroid, gitlab-ci
- Language: Shell
- Homepage:
- Size: 63.5 KB
- Stars: 10
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# F-Droid Client CI image
Getting an Android emulator running automatically in a container-based
CI system is a difficult task. This project makes it as easy as
possible, supporting as many emulator combinations that have proven to
run in GitLab-CI.
This Docker image is used in
[fdroidclient](https://gitlab.com/fdroid/fdroidclient)'s continuous
integration via Gitlab. It is built on top of our
[ci-images-base](https://gitlab.com/fdroid/ci-images-base) Docker
image. This specific image includes stuff that only the client tests need,
like emulator images.
The magic is mostly in the `start-emulator` script. It will use KVM
if it is available, but will run in a unprivileged environment as
well, albeit slower.
## GitLab CI Example
```yaml
.connected-template: &connected-template
image: registry.gitlab.com/fdroid/ci-images-client
script:
- ./gradlew assembleFullDebug # run this first to reduce concurrent RAM usage
- start-emulator
- wait-for-emulator
- adb devices
- adb shell input keyevent 82 &
- ./gradlew connectedFullDebugAndroidTest || (adb -e logcat -d > logcat.txt; exit 1)
artifacts:
paths:
- logcat.txt
connected 22 default armeabi-v7a:
<<: *connected-template
connected 23 default aarch64:
<<: *connected-template
connected 26 google_apis x86:
<<: *connected-template
connected 27 google_apis_playstore x86:
<<: *connected-template
connected 29 default x86_64:
<<: *connected-template
```