-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitlab-ci.yml
70 lines (62 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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
image: openjdk:8-jdk
variables:
ANDROID_COMPILE_SDK: "28"
ANDROID_BUILD_TOOLS: "28.0.3"
ANDROID_SDK_TOOLS: "4333796"
## Install packages
before_script:
- apt-get --quiet update --yes
- apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1
## Android sdk
- 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
## Setting up our fresh environment
- 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 (would exit pipeline when sdkmanager finishes) and use yes to accept all licenses
- set +o pipefail
- yes | android-sdk-linux/tools/bin/sdkmanager --licenses
- set -o pipefail
linting:
stage: build
script:
- ./gradlew -Pci --console=plain :app:lintDebug -PbuildDir=lint
building:
stage: build
script:
- ./gradlew assembleDebug
artifacts:
paths:
- app/build/outputs/
testing:
stage: test
script:
- ./gradlew -Pci --console=plain :app:testDebug
#releasing:
# stage: deploy
# only:
# - tags
# before_script:
# - ./gradlew assemble
# script:
# - echo $KEYSTORE_FILE | base64 -d > my-release-key.jks
# - zipalign -v -p 4 app/build/outputs/apk/release/app-release-unsigned.apk app/build/outputs/apk/release/app-release-unsigned-aligned.apk
# - apksigner sign --ks my-release-key.jks --out wtbu-android-release.apk app/build/outputs/apk/release/app-release-unsigned-aligned.apk
# - apksigner verify wtbu-android-release.apk
# artifacts:
# paths:
# - wtbu-android-release.apk
# after_script:
# - echo $ACCESS_TOKEN
# - echo $CI_JOB_ID
# - echo $CI_COMMIT_TAG
# - >-
# curl
# --header 'Content-Type: application/json'
# --header "PRIVATE-TOKEN: $ACCESS_TOKEN"
# --data '{ "name": "${CI_COMMIT_TAG}", "tag_name": "${CI_COMMIT_TAG}", "ref": "${CI_COMMIT_TAG}", "description": "Test", "assets": { "links": [{ "name": "App APK", "url": "https://gitlab.com/blabel3/wtbu-android/-/jobs/artifacts/${CI_JOB_ID}/raw/wtbu-android-release.apk?job=releasing" }] } }'
# --request POST https://gitlab.com/api/v4/projects/10662136/releases/