stages:
  - test
  - deploy

.base:
  image: registry.gitlab.com/fdroid/ci-images-client:latest
  before_script:
    - export GRADLE_USER_HOME=$PWD/.gradle
    - export ANDROID_COMPILE_SDK=`sed -n 's,.*compileSdkVersion\s*\([0-9][0-9]*\).*,\1,p' app/build.gradle`
    - echo y | $ANDROID_HOME/tools/bin/sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" > /dev/null
    - export ANDROID_BUILD_TOOLS=`sed -n "s,.*buildToolsVersion\s*'\([0-9][0-9.]*\)'.*,\1,p" app/build.gradle`
    - echo y | $ANDROID_HOME/tools/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS}" > /dev/null
    - apt-get update && apt-get -y install gnupg
  after_script:
    # this file changes every time but should not be cached
    - rm -f $GRADLE_USER_HOME/caches/modules-2/modules-2.lock
    - rm -fr $GRADLE_USER_HOME/caches/*/plugin-resolution/
  cache:
    paths:
      - .gradle/wrapper
      - .gradle/caches

.test-template: &test-template
  extends: .base
  stage: test
  artifacts:
    name: "${CI_PROJECT_PATH}_${CI_JOB_STAGE}_${CI_COMMIT_REF_NAME}_${CI_COMMIT_SHA}"
    paths:
      - kernel.log
      - logcat.txt
      - app/core*
      - app/*.log
      - app/build/reports
      - app/build/outputs/*ml
      - app/build/outputs/apk
    expire_in: 1 week
    when: on_failure
  after_script:
    - echo "Download debug artifacts from https://gitlab.com/${CI_PROJECT_PATH}/-/jobs"


build_on_debian:
  image: debian:stretch
  only:
    - branches
  variables:
    ANDROID_HOME: /usr/lib/android-sdk
  before_script:
    - echo 'skipping sdkmanager, deps come from apt-get'
  script:
    - printf 'APT::Install-Recommends "0";\nAPT::Install-Suggests "0";\n'
        > /etc/apt/apt.conf.d/99no-install-recommends
    - printf 'APT::Acquire::Retries "20";\n'
        > /etc/apt/apt.conf.d/99acquire-retries
    - printf 'APT::Get::Assume-Yes "true";\n'
        > /etc/apt/apt.conf.d/99assumeyes
    - apt-get update
    - apt-get upgrade
    - apt-get install git wget
    - apt-get install --install-recommends
          android-sdk
          android-sdk-platform-23
          gradle-debian-helper
          libgradle-android-plugin-java
    - wget --no-verbose http://dl.google.com/android/repository/platform-25_r03.zip
    - unzip -q platform-25_r03.zip
    - mv android-7.1.1 $ANDROID_HOME/platforms/platform-25
    - mkdir -p $ANDROID_HOME/licenses/
    - echo '24333f8a63b6825ea9c5514f83c2829b004d1fee'
       > $ANDROID_HOME/licenses/android-sdk-license
    - sed -i
          -e "s,jcenter(),maven { url 'file:///usr/share/maven-repo' },"
          build.gradle app/build.gradle
    - mkdir ~/.android
    - gradle assembleDebug
  artifacts:
    name: "${CI_PROJECT_PATH}_${CI_COMMIT_REF_NAME}_${CI_COMMIT_SHA}_${CI_JOB_NAME}"
    paths:
      - app/build/outputs/apk/*-debug.apk
    expire_in: 1 week
    when: on_success
  after_script:
    - echo "Download debug artifacts from https://gitlab.com/${CI_PROJECT_PATH}/-/jobs"

test:
  extends: .base
  only:
    - branches
  script:
    - ./gradlew checkstyle
    - ./gradlew assembleDebug
    - ./create_ota.sh debug
    - printf "key.store=${HOME}/.android/debug.keystore\nkey.store.password=android\nkey.alias=androiddebugkey\nkey.alias.password=android\n" > signing.properties
    - ./create_ota.sh release
    # always report on lint errors to the build log
    - sed -i -e 's,textReport .*,textReport true,' app/build.gradle
    - ./gradlew build || {
          for log in app/build/reports/*ests/*/*ml; do
              echo "read $log here:";
              cat "$log" | curl --silent -F 'clbin=<-' https://clbin.com;
          done;
          exit 1;
      }
    - echo "use versionCode that is known to exist on f-droid.org for test:"
    - apt-get -qy install --no-install-recommends jq
    - wget --quiet --tries=0 https://f-droid.org/repo/index-v1.jar
    - versionCode=`unzip -qqc index-v1.jar index-v1.json
        | jq '.packages."org.fdroid.fdroid.privileged"[0].versionCode'`
    - sed -i 's,versionCode="[^"]*",versionCode="'$versionCode'",' app/src/main/AndroidManifest.xml
    - ./create_ota.sh release binaries
  artifacts:
    name: "${CI_PROJECT_PATH}_${CI_COMMIT_REF_NAME}_${CI_COMMIT_SHA}_${CI_JOB_NAME}"
    paths:
      - app/build/distributions/*-debug.zip
    expire_in: 2 months
    when: on_success
  after_script:
    - echo "Download debug artifacts from https://gitlab.com/${CI_PROJECT_PATH}/-/jobs"

# Run the tests in the emulator.  Each step is broken out to run on
# its own since the CI runner can have limited RAM, and the emulator
# can take a while to start.
#
# once these prove stable, the task should be switched to
# connectedCheck to test all the build flavors
.connected-template: &connected-template
  extends: .base
  script:
    - ./gradlew assembleDebug
    - export AVD_SDK=`echo $CI_JOB_NAME | awk '{print $2}'`
    - export AVD_TAG=`echo $CI_JOB_NAME | awk '{print $3}'`
    - export AVD_ARCH=`echo $CI_JOB_NAME | awk '{print $4}'`
    - export AVD_PACKAGE="system-images;android-${AVD_SDK};${AVD_TAG};${AVD_ARCH}"
    - echo $AVD_PACKAGE

    - adb start-server
    - start-emulator
    - wait-for-emulator
    - adb devices
    - adb shell input keyevent 82 &
    - ./gradlew installDebug
    - ./gradlew connectedCheck

no-accel 22 default x86:
  only:
    - branches
  <<: *test-template
  <<: *connected-template


deploy_nightly:
  extends: .base
  stage: deploy
  only:
    refs:
      - master
    variables:
      - $DEBUG_KEYSTORE
  script:
    - sed -i 's,F-Droid,F-Nightly,i' app/src/main/res/values*/strings.xml
    - export currentVersionCode=$(grep -Eo '[1-9][0-9]{3,}' app/src/main/AndroidManifest.xml)
    - export versionCode=`printf '%d%05d' $currentVersionCode $(date '+%s'| cut -b4-8)`
    - sed -i "s,\(\s*android:versionCode=\"\) *[1-9][0-9]*,\1$versionCode," app/src/main/AndroidManifest.xml
    - sed -Ei 's@(\s*new Pair<>)@            // aosp testkey\n            new Pair<>("org.fdroid.fdroid", "a40da80a59d170caa950cf15c18c454d47a39b26989d8b640ecd745ba71bf5dc"),\n            new Pair<>("org.fdroid.fdroid.debug", "a40da80a59d170caa950cf15c18c454d47a39b26989d8b640ecd745ba71bf5dc"),\n            // fdroidclient-nightly\n            new Pair<>("org.fdroid.fdroid.debug", "659e1fd284549f70d13fb02c620100e27eeea3420558cce62b0f5d4cf2b77d84"),\1\n@' app/src/main/java/org/fdroid/fdroid/privileged/ClientWhitelist.java
    - git diff

    # build the APKs!
    - ./gradlew assembleDebug
    - fdroid nightly -v
