1image: debian/stable
2sources:
3- https://git.sr.ht/~singpolyma/cheogram-android
4artifacts:
5- cheogram.apk
6- cheogram_google_play.apk
7- cheogram_google_play.aab
8packages:
9- wget
10- unzip
11- android-sdk
12secrets:
13- 7eed327c-05c7-49b4-baed-a4d8785588d5
14- 9c6cc176-db6c-4158-9abb-2cb1662d5ca9
15environment:
16 ANDROID_SDK_ROOT: /home/build/android
17tasks:
18- sdk: |
19 wget -qO android.zip https://dl.google.com/android/repository/commandlinetools-linux-6987402_latest.zip
20 unzip -qq android.zip
21 mkdir -p android/cmdline-tools
22 mv cmdline-tools android/cmdline-tools/tools
23 echo y | android/cmdline-tools/tools/bin/sdkmanager "platforms;android-29"
24 echo y | android/cmdline-tools/tools/bin/sdkmanager "platform-tools"
25 echo y | android/cmdline-tools/tools/bin/sdkmanager "build-tools;29.0.2"
26 touch ~/.android/repositories.cfg
27 yes | android/cmdline-tools/tools/bin/sdkmanager --licenses
28- sentry: |
29 cd cheogram-android
30 sed -ie 's/<!-- INSERT -->/<meta-data android:name="io.sentry.dsn" android:value="https:\/\/680d470d348a4cc494bf2198eed30c49@o559641.ingest.sentry.io\/6221823" \/>/' src/cheogram/AndroidManifest.xml
31 sed -ie 's/\/\/ INSERT/implementation "io.sentry:sentry-android:6.4.2"/' build.gradle
32- build_free: |
33 cd cheogram-android
34 ./gradlew assembleCheogramFreeDebug
35- build_google_play: |
36 cd cheogram-android
37 mkdir -p src/playstore/res/values/
38 mv ~/push.xml src/playstore/res/values/
39 ./gradlew assembleCheogramPlaystoreDebug
40 echo keystore=$HOME/.android/debug.keystore > signing.properties
41 echo keystore.password=android >> signing.properties
42 echo keystore.alias=androiddebugkey >> signing.properties
43 ./gradlew bundleCheogramPlaystoreRelease
44- assets: |
45 mv cheogram-android/build/outputs/apk/cheogramFree/debug/*.apk cheogram.apk
46 mv cheogram-android/build/outputs/apk/cheogramPlaystore/debug/*.apk cheogram_google_play.apk
47 mv cheogram-android/build/outputs/bundle/cheogramPlaystoreRelease/*.aab cheogram_google_play.aab