image: debian/stable
sources:
- https://git.sr.ht/~singpolyma/cheogram-android
artifacts:
- cheogram.apk
- cheogram.aab
- cheogram_google_play.aab
packages:
- wget
- unzip
- openjdk-21-jdk-headless
- android-sdk
secrets:
- 6b782fde-a43b-4988-b102-38fa541bb788
- 7eed327c-05c7-49b4-baed-a4d8785588d5
- b1f1df57-d41c-45d9-9684-b66d3fa8d063
- b412b263-bdde-410b-997e-6326aba90132
environment:
  ANDROID_SDK_ROOT: /home/build/android
  SENTRY_ORG: mboa
  SENTRY_PROJECT: android
tasks:
- sdk: |
    wget -qO android.zip https://dl.google.com/android/repository/commandlinetools-linux-6987402_latest.zip
    unzip -qq android.zip
    mkdir -p android/cmdline-tools
    mv cmdline-tools android/cmdline-tools/tools
    echo y | android/cmdline-tools/tools/bin/sdkmanager "platforms;android-29"
    echo y | android/cmdline-tools/tools/bin/sdkmanager "platform-tools"
    echo y | android/cmdline-tools/tools/bin/sdkmanager "build-tools;29.0.2"
    touch ~/.android/repositories.cfg
    yes | android/cmdline-tools/tools/bin/sdkmanager --licenses
- sentry: |
    cd cheogram-android
    sed -ie 's/<!-- INSERT -->/<meta-data android:name="io.sentry.dsn" android:value="https:\/\/ef8be0f096894172885533d912826e3e@app.glitchtip.com\/5857" \/>/' src/cheogram/AndroidManifest.xml
    sed -ie 's/\/\/ PLUGIN INSERT/id "io.sentry.android.gradle" version "5.12.2"/' build.gradle
    sed -ie 's/\/\/ ROOT INSERT/sentry { includeSourceContext = true }/' build.gradle
- free_debug: |
    set +x
    export SENTRY_AUTH_TOKEN=$(cat ~/sentry_auth_token)
    set -x
    cd cheogram-android
    ./gradlew assembleCheogramFreeDebug
- setup_signing: |
    echo keystore=$HOME/.android/cheogram.keystore > signing.properties
    echo keystore.password=cheogram >> signing.properties
    echo keystore.alias=cheogram >> signing.properties
- free_bundle: |
    set +x
    export SENTRY_AUTH_TOKEN=$(cat ~/sentry_auth_token)
    set -x
    cd cheogram-android
    ./gradlew bundleCheogramFreeRelease
- google_play_bundle: |
    set +x
    export SENTRY_AUTH_TOKEN=$(cat ~/sentry_auth_token)
    set -x
    cd cheogram-android
    mkdir -p src/playstore/res/values/
    mv ~/push.xml src/playstore/res/values/
    ./gradlew bundleCheogramPlaystoreRelease
- assets: |
    mv cheogram-android/build/outputs/apk/cheogramFree/debug/*universal*.apk cheogram.apk
    mv cheogram-android/build/outputs/bundle/cheogramFreeRelease/*.aab cheogram.aab
    mv cheogram-android/build/outputs/bundle/cheogramPlaystoreRelease/*.aab cheogram_google_play.aab
