1
1
version : 2.1
2
2
3
- jobs :
4
- build :
3
+ parameters :
4
+ benchmarks :
5
+ type : boolean
6
+ default : false
7
+
8
+ executors :
9
+ builder :
5
10
working_directory : ~/code
6
11
docker :
7
- - image : circleci /openjdk:11.0.3-jdk-stretch
12
+ - image : cimg /openjdk:11.0
8
13
environment :
9
14
JAVA_OPTS : " -XX:MaxRAMPercentage=50"
10
15
GRADLE_OPTS : " -Dorg.gradle.daemon=false"
11
- steps :
12
- - checkout
13
16
17
+ commands :
18
+ read_cache :
19
+ steps :
14
20
- restore_cache :
15
21
key : v1-gradle-wrapper-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}
16
22
- restore_cache :
17
23
key : v1-gradle-cache-{{ checksum "build.gradle.kts" }}
18
24
25
+ write_cache :
26
+ steps :
27
+ - save_cache :
28
+ paths :
29
+ - ~/.gradle/wrapper
30
+ key : v1-gradle-wrapper-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}
31
+ - save_cache :
32
+ paths :
33
+ - ~/.gradle/caches
34
+ key : v1-gradle-cache-{{ checksum "build.gradle.kts" }}
35
+
36
+ jobs :
37
+ build :
38
+ executor : builder
39
+ steps :
40
+ - checkout
41
+ - read_cache
42
+
19
43
- run :
20
- name : build and test
44
+ name : Build and test
21
45
command : ./gradlew clean check publishToIntegrationRepository --stacktrace
22
46
23
47
- run :
24
- name : integration tests with kotlin 1.3
48
+ name : Integration tests with Kotlin 1.3
25
49
command : cd gradle-plugin-integration-test && ./gradlew clean build --stacktrace
26
50
27
51
- run :
28
- name : integration tests with kotlin 1.4
52
+ name : Integration tests with Kotlin 1.4
29
53
command : cd gradle-plugin-integration-test && ./gradlew clean build -Dkotlin.version=1.4.10 -Dkotlin.api.version=1.4 --stacktrace
54
+
55
+ - when :
56
+ condition :
57
+ equal : [ true, << pipeline.parameters.benchmarks >> ]
58
+ steps :
59
+ run :
60
+ name : Benchmarks
61
+ command : ./gradlew benchmarks:run
30
62
31
- - save_cache :
32
- paths :
33
- - ~/.gradle/wrapper
34
- key : v1-gradle-wrapper-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}
35
- - save_cache :
36
- paths :
37
- - ~/.gradle/caches
38
- key : v1-gradle-cache-{{ checksum "build.gradle.kts" }}
63
+ - write_cache
39
64
40
65
- run :
41
66
name : Save test results
@@ -49,13 +74,25 @@ jobs:
49
74
- store_artifacts :
50
75
path : ~/test-results/junit
51
76
77
+
78
+ release :
79
+ executor : builder
80
+ steps :
81
+ - checkout
82
+ - read_cache
52
83
- run :
53
- name : Deploy (if release)
54
- command : " if [[ \" $CIRCLE_BRANCH \" == master ]]; then ./gradlew publishToRemote closeAndReleaseRepository publishPlugins -Dorg.gradle.internal.http.socketTimeout=120000 -Dorg.gradle.internal.network.retry.max.attempts=1 -Dorg.gradle.internal.publish.checksums.insecure=true; else echo skipping publishing; fi "
84
+ name : Publish release
85
+ command : " ./gradlew publishToRemote closeAndReleaseRepository publishPlugins -Dorg.gradle.internal.http.socketTimeout=120000 -Dorg.gradle.internal.network.retry.max.attempts=1 -Dorg.gradle.internal.publish.checksums.insecure=true"
55
86
56
87
workflows :
57
88
version : 2.1
58
89
build :
59
90
jobs :
60
- - build :
91
+ - build
92
+ - release :
61
93
context : OSS
94
+ filters :
95
+ tags :
96
+ only : /^\d+\.\d+\.\d+$/
97
+ branches :
98
+ ignore : /.*/
0 commit comments