Skip to content

Commit 4879c89

Browse files
Excavator: Render CircleCI file using template specified in .circleci/template.sh
1 parent eaed499 commit 4879c89

File tree

1 file changed

+46
-73
lines changed

1 file changed

+46
-73
lines changed

.circleci/config.yml

Lines changed: 46 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44

55
version: 2.1
66
jobs:
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

Comments
 (0)