-
Notifications
You must be signed in to change notification settings - Fork 54
/
Copy pathcircle.yml
103 lines (90 loc) · 3.73 KB
/
circle.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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#
# Build configuration for Circle CI
#
general:
artifacts:
- /home/ubuntu/veritrans-android/sdk-example/build/outputs/apk/
machine:
ruby:
version: 2.0.0-p648
environment:
KEYSTORE_PATH: ${HOME}/${CIRCLE_PROJECT_REPONAME}/demo/midtrans-demo.jks
FABRIC_PATH: ${HOME}/${CIRCLE_PROJECT_REPONAME}/demo/fabric.properties
ANDROID_HOME: /usr/local/android-sdk-linux
GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx2048m -XX:MaxPermSize=1024m -Xms512m -XX:+HeapDumpOnOutOfMemoryError"'
_JAVA_OPTIONS: "-Xms512m -Xmx2048m"
java:
version: oraclejdk8
dependencies:
pre:
# Installing auto bumping version tools
- gem install bmp
# Copy environment variables to gradle.properties
- source environmentSetup.sh && copyEnvVarsToGradleProperties
- source downloadKeystore.sh && downloadKeystore && downloadFabricSecret
override:
- echo y | android update sdk --no-ui --all --filter tools,platform-tools,build-tools-28.0.3,android-28,extra-google-m2repository,extra-google-google_play_services,extra-android-m2repository
- ANDROID_HOME=/usr/local/android-sdk-linux ./gradlew dependencies
checkout:
post:
- cp -r licenses/. $ANDROID_HOME/licenses
test:
override:
# Unit Test
- (./gradlew corekit:testDevelopmentDebugUnitTestCoverage -PdisablePreDex -Dorg.gradle.jvmargs="-noverify"):
timeout: 3600
# unit Test uikit
- (./gradlew uikit:testDevelopmentDebugUnitTestCoverage -PdisablePreDex):
timeout: 3600
- (./gradlew demo:assembleRelease -PdisablePreDex):
timeout: 3600
post:
- cp -r corekit/build/reports $CIRCLE_ARTIFACTS
- cp -r corekit/build/reports/ $CIRCLE_TEST_REPORTS
# Deployment section
deployment:
master:
tag: /v[0-9]+(\.[0-9]+)*/
owner: veritrans
commands:
- ./gradlew :clean :corekit:assembleRelease :corekit:bintrayUpload -PdisablePreDex
- cp -r corekit/build/outputs/mapping $CIRCLE_ARTIFACTS
- cp -r corekit/build/outputs/mapping/ $CIRCLE_TEST_REPORTS
- ./gradlew :clean :uikit:assembleRelease :uikit:bintrayUpload -PdisablePreDex
- cp -r uikit/build/outputs/mapping $CIRCLE_ARTIFACTS
- cp -r uikit/build/outputs/mapping/ $CIRCLE_TEST_REPORTS
- ./gradlew :clean :scancard:assembleRelease :scancard:bintrayUpload -PdisablePreDex
- ./gradlew :demo:assembleProductionRelease :demo:crashlyticsUploadDistributionProductionRelease
- ./gradlew :demo:assembleDevelopmentRelease :demo:crashlyticsUploadDistributionDevelopmentRelease
develop:
branch: develop
owner: veritrans
commands:
- ./gradlew :demo:assembleDevelopmentRelease :demo:crashlyticsUploadDistributionDevelopmentRelease
uat:
branch: uat
owner: veritrans
commands:
- ./gradlew :demo:assembleDevelopmentRelease :demo:crashlyticsUploadDistributionDevelopmentRelease
bump-hotfix:
branch: release-hotfix
owner: veritrans
commands:
- bmp -p
- source environmentSetup.sh && setGit
- bmp -c
- git checkout master && git merge release-hotfix
- git push origin master --tag
bump:
branch: release
owner: veritrans
commands:
- source environmentSetup.sh && setGit
- bmp -c
- git checkout master && git merge release
- git push origin master --tag
release-candidate:
branch: release-.*
owner: veritrans
commands:
- ./gradlew :demo:assembleDevelopmentRelease :demo:crashlyticsUploadDistributionDevelopmentRelease