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- openjdk-17-jdk-headless
12- android-sdk
13secrets:
14- 6b782fde-a43b-4988-b102-38fa541bb788
15- 7eed327c-05c7-49b4-baed-a4d8785588d5
16- b1f1df57-d41c-45d9-9684-b66d3fa8d063
17- b412b263-bdde-410b-997e-6326aba90132
18environment:
19 ANDROID_SDK_ROOT: /home/build/android
20 SENTRY_ORG: mboa
21 SENTRY_PROJECT: android
22tasks:
23- sdk: |
24 wget -qO android.zip https://dl.google.com/android/repository/commandlinetools-linux-6987402_latest.zip
25 unzip -qq android.zip
26 mkdir -p android/cmdline-tools
27 mv cmdline-tools android/cmdline-tools/tools
28 echo y | android/cmdline-tools/tools/bin/sdkmanager "platforms;android-29"
29 echo y | android/cmdline-tools/tools/bin/sdkmanager "platform-tools"
30 echo y | android/cmdline-tools/tools/bin/sdkmanager "build-tools;29.0.2"
31 touch ~/.android/repositories.cfg
32 yes | android/cmdline-tools/tools/bin/sdkmanager --licenses
33- sentry: |
34 cd cheogram-android
35 sed -ie 's/<!-- INSERT -->/<meta-data android:name="io.sentry.dsn" android:value="https:\/\/ef8be0f096894172885533d912826e3e@app.glitchtip.com\/5857" \/>/' src/cheogram/AndroidManifest.xml
36 sed -ie 's/\/\/ PLUGIN INSERT/id "io.sentry.android.gradle" version "4.2.0"/' build.gradle
37 sed -ie 's/\/\/ ROOT INSERT/sentry { includeSourceContext = true }/' build.gradle
38- build_free: |
39 set +x
40 export SENTRY_AUTH_TOKEN=$(cat ~/sentry_auth_token)
41 set -x
42 cd cheogram-android
43 ./gradlew assembleCheogramFreeDebug
44- build_google_play: |
45 set +x
46 export SENTRY_AUTH_TOKEN=$(cat ~/sentry_auth_token)
47 set -x
48 cd cheogram-android
49 mkdir -p src/playstore/res/values/
50 mv ~/push.xml src/playstore/res/values/
51 ./gradlew assembleCheogramPlaystoreDebug
52 echo keystore=$HOME/.android/cheogram.keystore > signing.properties
53 echo keystore.password=cheogram >> signing.properties
54 echo keystore.alias=cheogram >> signing.properties
55 ./gradlew bundleCheogramPlaystoreRelease
56- assets: |
57 mv cheogram-android/build/outputs/apk/cheogramFree/debug/*universal*.apk cheogram.apk
58 mv cheogram-android/build/outputs/apk/cheogramPlaystore/debug/*universal*.apk cheogram_google_play.apk
59 mv cheogram-android/build/outputs/bundle/cheogramPlaystoreRelease/*.aab cheogram_google_play.aab