diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ebf259d..d0402fb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,28 +1,44 @@ image: openjdk:8-jdk +variables: + ANDROID_COMPILE_SDK: "34" + ANDROID_BUILD_TOOLS: "34.0.4" + ANDROID_SDK_TOOLS: "4333796" + +before_script: + - apt-get --quiet update --yes + - apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1 + - wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_TOOLS}.zip + - unzip -d android-sdk-linux android-sdk.zip + - echo y | android-sdk-linux/tools/bin/sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" >/dev/null + - echo y | android-sdk-linux/tools/bin/sdkmanager "platform-tools" >/dev/null + - echo y | android-sdk-linux/tools/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS}" >/dev/null + - export ANDROID_HOME=$PWD/android-sdk-linux + - export PATH=$PATH:$PWD/android-sdk-linux/platform-tools/ + - chmod +x ./gradlew + # temporarily disable checking for EPIPE error and use yes to accept all licenses + - set +o pipefail + - yes | android-sdk-linux/tools/bin/sdkmanager --licenses + - set -o pipefail + stages: - build + - test -cache: - paths: - - .gradle/ - -build_debug: +lintDebug: + stage: build + script: + - ./gradlew -Pci --console=plain :app:lintDebug -PbuildDir=lint + +assembleDebug: stage: build script: - - apt-get update && apt-get install -y apt-transport-https curl - - echo "deb [arch=amd64] https://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google.list - - curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - - - apt-get update && apt-get install -y google-chrome-stable lib32stdc++6 lib32z1 - - wget https://dl.google.com/android/repository/commandlinetools-linux-6200805_latest.zip - - unzip commandlinetools-linux-6200805_latest.zip -d cmdline-tools - - export ANDROID_HOME=$PWD/cmdline-tools - - export PATH=$PATH:$PWD/cmdline-tools/tools/bin - - yes | sdkmanager --licenses - - sdkmanager "platform-tools" "platforms;android-34" "build-tools;34.0.4" - - export GRADLE_USER_HOME=$(pwd)/.gradle - - chmod +x ./gradlew - ./gradlew assembleDebug artifacts: paths: - - app/build/outputs/ + - app/build/outputs/ + +debugTests: + stage: test + script: + - ./gradlew -Pci --console=plain :app:testDebug