1
+ version : 2
2
+ jobs :
3
+ build :
4
+ working_directory : ~/analytics-android
5
+ docker :
6
+ - image : circleci/android:api-28-alpha
7
+ environment :
8
+ JVM_OPTS : -Xmx6400m
9
+ CIRCLE_JDK_VERSION : oraclejdk8
10
+ steps :
11
+ - checkout
12
+ - restore_cache :
13
+ key : jars-{{ checksum "build.gradle" }}-{{ checksum "analytics/build.gradle" }}-{{ checksum "analytics-samples/analytics-sample/build.gradle" }}
14
+ - run :
15
+ name : Accept licenses
16
+ command : yes | sdkmanager --licenses || true
17
+ - run :
18
+ name : Build
19
+ command : ./gradlew check build assembleAndroidTest
20
+ - run :
21
+ name : Snyk
22
+ command : curl -sL https://raw.githubusercontent.com/segmentio/snyk_helpers/master/initialization/snyk.sh | sh
23
+ environment :
24
+ SNYK_FAIL_ON : upgradable
25
+ SNYK_SEVERITY_THRESHOLD : high
26
+ - save_cache :
27
+ paths :
28
+ - ~/.gradle
29
+ key : jars-{{ checksum "build.gradle" }}-{{ checksum "analytics/build.gradle" }}-{{ checksum "analytics-samples/analytics-sample/build.gradle" }}
30
+ publish_snapshot :
31
+ working_directory : ~/analytics-android
32
+ docker :
33
+ - image : circleci/android:api-28-alpha
34
+ environment :
35
+ JVM_OPTS : -Xmx3200m
36
+ CIRCLE_JDK_VERSION : oraclejdk8
37
+ steps :
38
+ - checkout
39
+ - restore_cache :
40
+ key : jars-{{ checksum "build.gradle" }}-{{ checksum "analytics/build.gradle" }}-{{ checksum "analytics-samples/analytics-sample/build.gradle" }}
41
+ - run :
42
+ name : Accept licenses
43
+ command : yes | sdkmanager --licenses || true
44
+ - run :
45
+ name : Set up key ring file
46
+ command : |
47
+ if [ "$SIGNING_PRIVATE_KEY_BASE64" == "" ]; then {
48
+ echo "Invalid signature configuration"
49
+ exit 1
50
+ } fi
51
+ echo $SIGNING_PRIVATE_KEY_BASE64 | base64 -d > $SIGNING_SECRET_KEY_RING_FILE
52
+ - run :
53
+ name : Publish SNAPSHOT
54
+ command : ./gradlew publish
55
+ publish :
56
+ working_directory : ~/analytics-android
57
+ docker :
58
+ - image : circleci/android:api-28-alpha
59
+ environment :
60
+ JVM_OPTS : -Xmx3200m
61
+ CIRCLE_JDK_VERSION : oraclejdk8
62
+ steps :
63
+ - checkout
64
+ - restore_cache :
65
+ key : jars-{{ checksum "build.gradle" }}-{{ checksum "analytics/build.gradle" }}-{{ checksum "analytics-samples/analytics-sample/build.gradle" }}
66
+ - run :
67
+ name : Accept licenses
68
+ command : yes | sdkmanager --licenses || true
69
+ - run :
70
+ name : Set up key ring file
71
+ command : |
72
+ if [ "$SIGNING_PRIVATE_KEY_BASE64" == "" ]; then {
73
+ echo "Invalid signature configuration"
74
+ exit 1
75
+ } fi
76
+ echo $SIGNING_PRIVATE_KEY_BASE64 | base64 -d > $SIGNING_SECRET_KEY_RING_FILE
77
+ - run :
78
+ name : Verify tag
79
+ command : |
80
+ VERSION=$(grep VERSION_NAME gradle.properties | awk -F= '{ print $2 }' | sed "s/-SNAPSHOT//")
81
+ if [ "$CIRCLE_TAG" != "$VERSION" ]; then {
82
+ echo "Tag $CIRCLE_TAG does not match the package version ($VERSION)"
83
+ exit 1
84
+ } fi
85
+ - run :
86
+ name : Publish Release
87
+ command : ./gradlew publish -Prelease
88
+ - run :
89
+ name : Mark release
90
+ command : ./gradlew closeAndReleaseRepository
91
+ workflows :
92
+ version : 2
93
+ run :
94
+ jobs :
95
+ - build :
96
+ context : snyk
97
+ filters :
98
+ tags :
99
+ only : /.*/
100
+ - publish_snapshot :
101
+ context : android-sonatype
102
+ requires : [ build ]
103
+ filters :
104
+ branches :
105
+ only : [/master/]
106
+ - publish :
107
+ context : android-sonatype
108
+ requires : [ build ]
109
+ filters :
110
+ branches :
111
+ ignore : /.*/
112
+ tags :
113
+ only : /[0-9]+.*/
0 commit comments