image: androidsdk/android-30 before_script: # Ask gradle to put everything to .gradle dir so that we can cache it - export GRADLE_USER_HOME=`pwd`/.gradle cache: paths: - .gradle stages: - check - build assembleDebug: interruptible: true stage: build needs: [ ] script: - ./gradlew assembleDebug - cp app/build/outputs/apk/debug/*.apk mealient-debug.apk artifacts: paths: - mealient-debug.apk checkApp: interruptible: true stage: check needs: [ ] script: - ./gradlew check artifacts: when: always reports: junit: ./**/build/test-results/**/TEST-*.xml assembleRelease: interruptible: true stage: build needs: [ "checkApp" ] script: - echo "$MEALIE_KEY_STORE" | base64 -d > app/mealient-release-key.jks - echo "storeFile=mealient-release-key.jks" > keystore.properties - echo "storePassword=$MEALIE_KEY_STORE_PASSWORD" >> keystore.properties - echo "keyAlias=$MEALIE_KEY_ALIAS" >> keystore.properties - echo "keyPassword=$MEALIE_KEY_PASSWORD" >> keystore.properties - ./gradlew assembleRelease - cp app/build/outputs/apk/release/*.apk mealient-release.apk artifacts: paths: - mealient-release.apk rules: - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'