44
55version : 2.1
66jobs :
7- compile :
7+
8+ check :
89 docker : [{ image: 'cimg/openjdk:11.0.10-node' }]
910 resource_class : large
1011 environment :
@@ -38,66 +39,24 @@ jobs:
3839
3940 echo "Detected tag build, deleting all tags except '$CIRCLE_TAG' which point to HEAD: [${TAGS_TO_DELETE/$'\n'/,}]"
4041 echo "$TAGS_TO_DELETE" | while read -r TAG; do git tag -d "$TAG" 1>/dev/null; done
41- - restore_cache : { key: 'gradle-wrapper-v2-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}' }
42- - restore_cache : { key: 'compile-gradle-cache-v2-{{ checksum "versions.props" }}-{{ checksum "build.gradle" }}' }
43- - run : ./gradlew --parallel --stacktrace classes testClasses -Porg.gradle.java.installations.fromEnv=JAVA_8_HOME,JAVA_11_HOME,JAVA_15_HOME,JAVA_17_HOME,JAVA_HOME
44- - save_cache :
45- key : ' gradle-wrapper-v2-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}'
46- paths : [ ~/.gradle/wrapper ]
47- - save_cache :
48- key : ' compile-gradle-cache-v2-{{ checksum "versions.props" }}-{{ checksum "build.gradle" }}'
49- paths : [ ~/.gradle/caches ]
50- - store_test_results : { path: ~/junit }
51- - store_artifacts : { path: ~/artifacts }
42+ - restore_cache : { key: 'gradle-wrapper-v1-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}' }
43+ - restore_cache : { key: 'check-gradle-cache-v1-{{ checksum "versions.props" }}-{{ checksum "build.gradle" }}' }
44+ - run : ./gradlew --parallel --stacktrace --continue --max-workers=2 check idea -Porg.gradle.java.installations.fromEnv=JAVA_8_HOME,JAVA_11_HOME,JAVA_15_HOME,JAVA_17_HOME,JAVA_HOME
5245 - persist_to_workspace :
5346 root : /home/circleci
54- paths : [ project, .gradle/init.gradle ]
55-
56- check :
57- docker : [{ image: 'cimg/openjdk:11.0.10-node' }]
58- resource_class : medium
59- environment :
60- CIRCLE_TEST_REPORTS : /home/circleci/junit
61- CIRCLE_ARTIFACTS : /home/circleci/artifacts
62- GRADLE_OPTS : -Dorg.gradle.workers.max=1 -Dorg.gradle.jvmargs='-Xmx2g --add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED'
63- _JAVA_OPTIONS : -XX:ActiveProcessorCount=2 -XX:MaxRAM=4g -XX:ErrorFile=/home/circleci/artifacts/hs_err_pid%p.log -XX:HeapDumpPath=/home/circleci/artifacts
64- steps :
65- - attach_workspace : { at: /home/circleci }
66- - restore_cache : { key: 'gradle-wrapper-v2-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}' }
67- - restore_cache : { key: 'check-gradle-cache-v2-{{ checksum "versions.props" }}-{{ checksum "build.gradle" }}' }
68- - run : ./gradlew --parallel --stacktrace --continue check idea -x test -Porg.gradle.java.installations.fromEnv=JAVA_8_HOME,JAVA_11_HOME,JAVA_15_HOME,JAVA_17_HOME,JAVA_HOME
47+ paths : [ project ]
6948 - save_cache :
70- key : ' check-gradle-cache-v2-{{ checksum "versions.props" }}-{{ checksum "build.gradle" }}'
71- paths : [ ~/.gradle/caches ]
72- - run :
73- command : mkdir -p ~/junit && find . -type f -regex ".*/build/.*TEST.*xml" -exec cp --parents {} ~/junit/ \;
74- when : always
75- - store_test_results : { path: ~/junit }
76- - store_artifacts : { path: ~/artifacts }
77-
78- unit-test :
79- docker : [{ image: 'cimg/openjdk:11.0.10-node' }]
80- resource_class : large
81- environment :
82- CIRCLE_TEST_REPORTS : /home/circleci/junit
83- CIRCLE_ARTIFACTS : /home/circleci/artifacts
84- GRADLE_OPTS : -Dorg.gradle.workers.max=2 -Dorg.gradle.jvmargs='-Xmx2g --add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED'
85- _JAVA_OPTIONS : -XX:ActiveProcessorCount=4 -XX:MaxRAM=8g -XX:ErrorFile=/home/circleci/artifacts/hs_err_pid%p.log -XX:HeapDumpPath=/home/circleci/artifacts
86- steps :
87- - attach_workspace : { at: /home/circleci }
88- - restore_cache : { key: 'gradle-wrapper-v2-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}' }
89- - restore_cache : { key: 'unit-test-gradle-cache-v2-{{ checksum "versions.props" }}-{{ checksum "build.gradle" }}' }
90- - run : ./gradlew --parallel --stacktrace --continue --max-workers=2 test -Porg.gradle.java.installations.fromEnv=JAVA_8_HOME,JAVA_11_HOME,JAVA_15_HOME,JAVA_17_HOME,JAVA_HOME
49+ key : ' gradle-wrapper-v1-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}'
50+ paths : [ ~/.gradle/wrapper ]
9151 - save_cache :
92- key : ' unit-test- gradle-cache-v2 -{{ checksum "versions.props" }}-{{ checksum "build.gradle" }}'
52+ key : ' check- gradle-cache-v1 -{{ checksum "versions.props" }}-{{ checksum "build.gradle" }}'
9353 paths : [ ~/.gradle/caches ]
9454 - run :
9555 command : mkdir -p ~/junit && find . -type f -regex ".*/build/.*TEST.*xml" -exec cp --parents {} ~/junit/ \;
9656 when : always
9757 - store_test_results : { path: ~/junit }
9858 - store_artifacts : { path: ~/artifacts }
9959
100-
10160 build :
10261 machine : { docker_layer_caching: true }
10362 environment :
@@ -106,18 +65,18 @@ jobs:
10665 _JAVA_OPTIONS : -Dorg.gradle.internal.launcher.welcomeMessageEnabled=false -Xmx8192m
10766 JAVA_HOME : /opt/java11
10867 steps :
109- - attach_workspace : { at: /home/circleci }
110- - restore_cache : { key: 'gradle-wrapper-v2 -{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}' }
111- - restore_cache : { key: 'build-gradle-cache-v2 -{{ checksum "versions.props" }}-{{ checksum "build.gradle" }}' }
68+ - checkout
69+ - restore_cache : { key: 'gradle-wrapper-v1 -{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}' }
70+ - restore_cache : { key: 'build-gradle-cache-v1 -{{ checksum "versions.props" }}-{{ checksum "build.gradle" }}' }
11271 - run :
11372 name : Install Java 11
11473 command : |
11574 sudo mkdir -p /opt/java && cd /opt/java && sudo chown -R circleci:circleci .
116- curl https://cdn.azul.com/zulu/bin/zulu11.54.23 -ca-jdk11.0.14 -linux_x64.tar.gz | tar -xzf - -C /opt/java
75+ curl https://cdn.azul.com/zulu/bin/zulu11.56.19 -ca-jdk11.0.15 -linux_x64.tar.gz | tar -xzf - -C /opt/java
11776 sudo ln -s /opt/java/zulu*/ /opt/java11
11877 - run : ./gradlew --parallel --stacktrace build -x test -x check -Porg.gradle.java.installations.fromEnv=JAVA_8_HOME,JAVA_11_HOME,JAVA_15_HOME,JAVA_17_HOME,JAVA_HOME
11978 - save_cache :
120- key : ' build-gradle-cache-v2 -{{ checksum "versions.props" }}-{{ checksum "build.gradle" }}'
79+ key : ' build-gradle-cache-v1 -{{ checksum "versions.props" }}-{{ checksum "build.gradle" }}'
12180 paths : [ ~/.gradle/caches ]
12281 - run :
12382 command : mkdir -p ~/junit && find . -type f -regex ".*/build/.*TEST.*xml" -exec cp --parents {} ~/junit/ \; || true
@@ -134,15 +93,39 @@ jobs:
13493 GRADLE_OPTS : -Dorg.gradle.workers.max=1 -Dorg.gradle.jvmargs='-Xmx2g --add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED'
13594 _JAVA_OPTIONS : -XX:ActiveProcessorCount=2 -XX:MaxRAM=4g -XX:ErrorFile=/home/circleci/artifacts/hs_err_pid%p.log -XX:HeapDumpPath=/home/circleci/artifacts
13695 steps :
137- - attach_workspace : { at: /home/circleci }
138- - restore_cache : { key: 'gradle-wrapper-v2-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}' }
139- - restore_cache : { key: 'trial-publish-gradle-cache-v2-{{ checksum "versions.props" }}-{{ checksum "build.gradle" }}' }
96+ - checkout
97+ - run :
98+ name : delete_unrelated_tags
99+ command : |
100+ ALL_TAGS=$(git tag --points-at HEAD)
101+
102+ if [ -z "$ALL_TAGS" ]; then
103+ echo "No-op as there are no tags on the current commit ($(git rev-parse HEAD))"
104+ exit 0
105+ fi
106+
107+ if [ -z "${CIRCLE_TAG:+x}" ]; then
108+ echo "Non-tag build, deleting all tags which point to HEAD: [${ALL_TAGS/$'\n'/,}]"
109+ echo "$ALL_TAGS" | while read -r TAG; do git tag -d "$TAG" 1>/dev/null; done
110+ exit 0
111+ fi
112+
113+ TAGS_TO_DELETE=$(echo "$ALL_TAGS" | grep -v "^$CIRCLE_TAG$" || :)
114+ if [ -z "$TAGS_TO_DELETE" ]; then
115+ echo "No-op as exactly one tag ($CIRCLE_TAG) points to HEAD"
116+ exit 0
117+ fi
118+
119+ echo "Detected tag build, deleting all tags except '$CIRCLE_TAG' which point to HEAD: [${TAGS_TO_DELETE/$'\n'/,}]"
120+ echo "$TAGS_TO_DELETE" | while read -r TAG; do git tag -d "$TAG" 1>/dev/null; done
121+ - restore_cache : { key: 'gradle-wrapper-v1-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}' }
122+ - restore_cache : { key: 'trial-publish-gradle-cache-v1-{{ checksum "versions.props" }}-{{ checksum "build.gradle" }}' }
140123 - run : ./gradlew --stacktrace publishToMavenLocal -Porg.gradle.java.installations.fromEnv=JAVA_8_HOME,JAVA_11_HOME,JAVA_15_HOME,JAVA_17_HOME,JAVA_HOME
141124 - run :
142125 command : git status --porcelain
143126 when : always
144127 - save_cache :
145- key : ' trial-publish-gradle-cache-v2 -{{ checksum "versions.props" }}-{{ checksum "build.gradle" }}'
128+ key : ' trial-publish-gradle-cache-v1 -{{ checksum "versions.props" }}-{{ checksum "build.gradle" }}'
146129 paths : [ ~/.gradle/caches ]
147130 - store_test_results : { path: ~/junit }
148131 - store_artifacts : { path: ~/artifacts }
@@ -157,15 +140,15 @@ jobs:
157140 _JAVA_OPTIONS : -XX:ActiveProcessorCount=2 -XX:MaxRAM=4g -XX:ErrorFile=/home/circleci/artifacts/hs_err_pid%p.log -XX:HeapDumpPath=/home/circleci/artifacts
158141 steps :
159142 - attach_workspace : { at: /home/circleci }
160- - restore_cache : { key: 'gradle-wrapper-v2 -{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}' }
161- - restore_cache : { key: 'publish-gradle-cache-v2 -{{ checksum "versions.props" }}-{{ checksum "build.gradle" }}' }
143+ - restore_cache : { key: 'gradle-wrapper-v1 -{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}' }
144+ - restore_cache : { key: 'publish-gradle-cache-v1 -{{ checksum "versions.props" }}-{{ checksum "build.gradle" }}' }
162145 - deploy :
163146 command : ./gradlew --parallel --stacktrace --continue publish -Porg.gradle.java.installations.fromEnv=JAVA_8_HOME,JAVA_11_HOME,JAVA_15_HOME,JAVA_17_HOME,JAVA_HOME
164147 - run :
165148 command : git status --porcelain
166149 when : always
167150 - save_cache :
168- key : ' publish-gradle-cache-v2 -{{ checksum "versions.props" }}-{{ checksum "build.gradle" }}'
151+ key : ' publish-gradle-cache-v1 -{{ checksum "versions.props" }}-{{ checksum "build.gradle" }}'
169152 paths : [ ~/.gradle/caches ]
170153 - store_test_results : { path: ~/junit }
171154 - store_artifacts : { path: ~/artifacts }
@@ -175,25 +158,15 @@ workflows:
175158 version : 2
176159 build :
177160 jobs :
178- - compile :
179- filters : { tags: { only: /.*/ } }
180-
181- - unit-test :
182- requires : [ compile ]
183- filters : { tags: { only: /.*/ } }
184-
185161 - check :
186- requires : [ compile ]
187162 filters : { tags: { only: /.*/ } }
188163
189164 - build :
190- requires : [ compile ]
191165 filters : { tags: { only: /.*/ } }
192166
193167 - trial-publish :
194- requires : [ compile ]
195168 filters : { branches: { ignore: develop } }
196169
197170 - publish :
198- requires : [ unit-test, check, build, trial-publish ]
171+ requires : [ check, build, trial-publish ]
199172 filters : { tags: { only: /.*/ }, branches: { only: develop } }
0 commit comments