Skip to content

Commit dc4f527

Browse files
authored
Use OpenJDK8 for CircleCI builds + refactor build config (#140)
1 parent 2544b6b commit dc4f527

File tree

1 file changed

+47
-40
lines changed

1 file changed

+47
-40
lines changed

.circleci/config.yml

+47-40
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,58 @@
11
version: 2
22

3+
machine-config: &machine-config
4+
machine: true
5+
working_directory: ~/repo
6+
environment:
7+
TERM: dumb
8+
GRADLE_OPTS: -Xmx256m
9+
10+
shared-steps:
11+
open-jdk: &open-jdk
12+
run:
13+
name: Update Java to OpenJDK
14+
command: |
15+
sudo update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
16+
sudo update-alternatives --set javac /usr/lib/jvm/java-8-openjdk-amd64/bin/javac
17+
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
18+
java -version
19+
save-gradle-cache: &save-gradle-cache
20+
save_cache:
21+
key: gcache-{{ .Branch }}-{{ checksum ".circleci/config.yml" }}-{{ checksum "build.gradle" }}-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}
22+
paths:
23+
- ~/.gradle
24+
- ~/.m2
25+
restore-gradle-cache: &restore-gradle-cache
26+
restore_cache:
27+
keys:
28+
- gcache-{{ .Branch }}-{{ checksum ".circleci/config.yml" }}-{{ checksum "build.gradle" }}-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}
29+
330
jobs:
4-
scala_style_check:
5-
machine: true
6-
working_directory: ~/repo
7-
environment:
8-
TERM: dumb
9-
GRADLE_OPTS: -Xmx256m
31+
scala-style:
32+
<<: *machine-config
1033
steps:
1134
- checkout
35+
- *open-jdk
1236
- run:
1337
name: Scala style check
14-
command: ./gradlew --parallel scalaStyle
15-
clone_repo_and_compile_project:
16-
machine: true
17-
working_directory: ~/repo
18-
environment:
19-
TERM: dumb
20-
GRADLE_OPTS: -Xmx256m
38+
command: java -version && ./gradlew -v && ./gradlew --parallel scalaStyle
39+
compile:
40+
<<: *machine-config
2141
steps:
2242
- checkout
23-
- restore_cache:
24-
keys:
25-
- gcache-{{ .Branch }}-{{ checksum ".circleci/config.yml" }}-{{ checksum "build.gradle" }}-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}
26-
- run:
27-
name: Java version
28-
command: java -version
43+
- *open-jdk
44+
- *restore-gradle-cache
2945
- run:
3046
name: Clone repo & compile project
31-
command: ./gradlew --parallel testScoverageClasses
32-
- save_cache:
33-
key: gcache-{{ .Branch }}-{{ checksum ".circleci/config.yml" }}-{{ checksum "build.gradle" }}-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}
34-
paths:
35-
- ~/.gradle
36-
- ~/.m2
37-
build:
38-
machine: true
39-
working_directory: ~/repo
40-
environment:
41-
TERM: dumb
42-
GRADLE_OPTS: -Xmx256m
47+
command: java -version && ./gradlew -v && ./gradlew --parallel testScoverageClasses
48+
- *save-gradle-cache
49+
test:
50+
<<: *machine-config
4351
parallelism: 4
4452
steps:
4553
- checkout
46-
- restore_cache:
47-
keys:
48-
- gcache-{{ .Branch }}-{{ checksum ".circleci/config.yml" }}-{{ checksum "build.gradle" }}-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}
54+
- *open-jdk
55+
- *restore-gradle-cache
4956
- run:
5057
name: Build project
5158
command: |
@@ -55,7 +62,7 @@ jobs:
5562
TEST_FILES=$(echo "$TEST_FILES" | circleci tests split --split-by=timings --timings-type=classname --index=$CIRCLE_NODE_INDEX | tr ' ' '\n' | cut -d "/" -f5-$2 | sed 's/.\{6\}$/\*/g')
5663
echo -e "Test files running on this container : `eval $COUNT_TEST_FILE_CMD`\n$TEST_FILES\n"
5764
export TEST_FILES=$(echo "$TEST_FILES" | sed 's/\\n$//' )
58-
./gradlew reportScoverage
65+
java -version && ./gradlew -v && ./gradlew reportScoverage
5966
- run:
6067
name: Collect test results
6168
command: |
@@ -76,9 +83,9 @@ workflows:
7683
version: 2
7784
build:
7885
jobs:
79-
- scala_style_check
80-
- clone_repo_and_compile_project
81-
- build:
86+
- scala-style
87+
- compile
88+
- test:
8289
requires:
83-
- scala_style_check
84-
- clone_repo_and_compile_project
90+
- scala-style
91+
- compile

0 commit comments

Comments
 (0)