-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.gitlab-ci.yml
39 lines (33 loc) · 2.54 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
before_script:
- export VERSION_NAME="$(([[ "${CI_BUILD_TAG}" ]] && echo "${CI_BUILD_TAG}" || echo "$(git describe --match 'v*.*.*' --always --dirty)-$(git rev-list HEAD --count)") | sed 's/ ^v//')"
- export VERSION_CODE="$(git rev-list HEAD --count)"
- echo "Building version $VERSION_NAME ($VERSION_CODE)"
- python tools/download.py --token ${AUTO_CLOSE_TOKEN} --key-version agxzfmF1dG8tY2xvc2VyGAsSC1Byb2plY3RLZXlzGICAgICi4J4KDA
- printf "org.gradle.jvmargs=-XX:MaxPermSize=2g\nversionName=${VERSION_NAME}\nversionCode=${VERSION_CODE}\ndisablePreDex=true\nautoCloseToken=${AUTO_CLOSE_TOKEN}\n" > gradle.properties
# client build will start when adding tag v*.*.*
- export FOR_CLIENT="$([[ "${CI_BUILD_TAG}" =~ ^v([0-9]+\.)*[0-9]+$ ]] && echo "TRUE")"
# testers will receive builds from master, for client or any tag
- export FOR_TESTERS="$([[ "${CI_BUILD_REF_NAME}" == "master" || "${FOR_CLIENT}" || "${CI_BUILD_TAG}" ]] && echo "TRUE")"
# Accept licenses
- mkdir -p "${ANDROID_HOME}/licenses"
- echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "${ANDROID_HOME}/licenses/android-sdk-license"
- echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "${ANDROID_HOME}/licenses/android-sdk-preview-license"
- echo -e "\nd975f751698a77b662f1254ddbeed3901e976f5a" > "${ANDROID_HOME}/licenses/intel-android-extra-license"
# Install android emulator
- /opt/tools/android-accept-licenses.sh 'android update sdk --all --no-ui --filter extra-android-m2repository,extra-google-m2repository,build-tools-23.0.2,android-23'
build:
image: jacekmarchwicki/android:java8-r24-4-1
script:
- emulator64-arm -avd test -no-skin -no-audio -no-window &
- timeout 900 ./tools/android-wait-for-emulator
- ./gradlew --parallel --stacktrace --no-daemon build connectedAndroidTest javadoc $(test "FOR_CLIENT" && echo "uploadArchives")
- if [[ "${FOR_TESTERS}" ]]; then python tools/upload.py --token ${AUTO_CLOSE_TOKEN} --build-name "${VERSION_NAME}" $(test "FOR_CLIENT" && echo "--final") example/build/outputs/ example/build/reports/ example-model/build/libs/ key-value-db/build/libs/ key-value-db/build/reports/ key-value-db-level-driver/build/outputs/ key-value-db-level-driver/build/reports/ key-value-db-snappy-driver/build/outputs/ key-value-db-snappy-driver/build/reports/; fi
- if [[ "${FOR_TESTERS}" ]]; then python tools/close-task.py --token ${AUTO_CLOSE_TOKEN} "Version ${VERSION_NAME}"; fi
cache:
key: "${CI_BUILD_NAME}/v1"
paths:
- .gradle/
variables:
GRADLE_USER_HOME: ${CI_PROJECT_DIR}/.gradle
tags:
- docker