debian-stable.yml

 1image: debian/stable
 2sources:
 3- https://git.sr.ht/~singpolyma/cheogram-android
 4artifacts:
 5- cheogram.apk
 6- cheogram.aab
 7- cheogram_google_play.aab
 8packages:
 9- wget
10- unzip
11- openjdk-21-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 "5.12.2"/' build.gradle
37    sed -ie 's/\/\/ ROOT INSERT/sentry { includeSourceContext = true }/' build.gradle
38- free_debug: |
39    set +x
40    export SENTRY_AUTH_TOKEN=$(cat ~/sentry_auth_token)
41    set -x
42    cd cheogram-android
43    ./gradlew assembleCheogramFreeDebug
44- setup_signing: |
45    cd cheogram-android
46    echo keystore=$HOME/.android/cheogram.keystore > signing.properties
47    echo keystore.password=cheogram >> signing.properties
48    echo keystore.alias=cheogram >> signing.properties
49- free_bundle: |
50    set +x
51    export SENTRY_AUTH_TOKEN=$(cat ~/sentry_auth_token)
52    set -x
53    cd cheogram-android
54    ! test -r $HOME/.android/cheogram.keystore || ./gradlew bundleCheogramFreeRelease
55- google_play_bundle: |
56    set +x
57    export SENTRY_AUTH_TOKEN=$(cat ~/sentry_auth_token)
58    set -x
59    cd cheogram-android
60    mkdir -p src/playstore/res/values/
61    mv ~/push.xml src/playstore/res/values/
62    ! test -r $HOME/.android/cheogram.keystore || ./gradlew bundleCheogramPlaystoreRelease
63- assets: |
64    mv cheogram-android/build/outputs/apk/cheogramFree/debug/*universal*.apk cheogram.apk
65    ! test -r $HOME/.android/cheogram.keystore || mv cheogram-android/build/outputs/bundle/cheogramFreeRelease/*.aab cheogram.aab
66    ! test -r $HOME/.android/cheogram.keystore || mv cheogram-android/build/outputs/bundle/cheogramPlaystoreRelease/*.aab cheogram_google_play.aab