Skip to content

Commit

Permalink
Use OpenJDK8 for CircleCI builds + refactor build config (#140)
Browse files Browse the repository at this point in the history
  • Loading branch information
tovbinm committed Oct 1, 2018
1 parent 04f9c6f commit 960d105
Showing 1 changed file with 47 additions and 40 deletions.
87 changes: 47 additions & 40 deletions .circleci/config.yml
@@ -1,51 +1,58 @@
version: 2

machine-config: &machine-config
machine: true
working_directory: ~/repo
environment:
TERM: dumb
GRADLE_OPTS: -Xmx256m

shared-steps:
open-jdk: &open-jdk
run:
name: Update Java to OpenJDK
command: |
sudo update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
sudo update-alternatives --set javac /usr/lib/jvm/java-8-openjdk-amd64/bin/javac
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
java -version
save-gradle-cache: &save-gradle-cache
save_cache:
key: gcache-{{ .Branch }}-{{ checksum ".circleci/config.yml" }}-{{ checksum "build.gradle" }}-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}
paths:
- ~/.gradle
- ~/.m2
restore-gradle-cache: &restore-gradle-cache
restore_cache:
keys:
- gcache-{{ .Branch }}-{{ checksum ".circleci/config.yml" }}-{{ checksum "build.gradle" }}-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}

jobs:
scala_style_check:
machine: true
working_directory: ~/repo
environment:
TERM: dumb
GRADLE_OPTS: -Xmx256m
scala-style:
<<: *machine-config
steps:
- checkout
- *open-jdk
- run:
name: Scala style check
command: ./gradlew --parallel scalaStyle
clone_repo_and_compile_project:
machine: true
working_directory: ~/repo
environment:
TERM: dumb
GRADLE_OPTS: -Xmx256m
command: java -version && ./gradlew -v && ./gradlew --parallel scalaStyle
compile:
<<: *machine-config
steps:
- checkout
- restore_cache:
keys:
- gcache-{{ .Branch }}-{{ checksum ".circleci/config.yml" }}-{{ checksum "build.gradle" }}-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}
- run:
name: Java version
command: java -version
- *open-jdk
- *restore-gradle-cache
- run:
name: Clone repo & compile project
command: ./gradlew --parallel testScoverageClasses
- save_cache:
key: gcache-{{ .Branch }}-{{ checksum ".circleci/config.yml" }}-{{ checksum "build.gradle" }}-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}
paths:
- ~/.gradle
- ~/.m2
build:
machine: true
working_directory: ~/repo
environment:
TERM: dumb
GRADLE_OPTS: -Xmx256m
command: java -version && ./gradlew -v && ./gradlew --parallel testScoverageClasses
- *save-gradle-cache
test:
<<: *machine-config
parallelism: 4
steps:
- checkout
- restore_cache:
keys:
- gcache-{{ .Branch }}-{{ checksum ".circleci/config.yml" }}-{{ checksum "build.gradle" }}-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}
- *open-jdk
- *restore-gradle-cache
- run:
name: Build project
command: |
Expand All @@ -55,7 +62,7 @@ jobs:
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')
echo -e "Test files running on this container : `eval $COUNT_TEST_FILE_CMD`\n$TEST_FILES\n"
export TEST_FILES=$(echo "$TEST_FILES" | sed 's/\\n$//' )
./gradlew reportScoverage
java -version && ./gradlew -v && ./gradlew reportScoverage
- run:
name: Collect test results
command: |
Expand All @@ -76,9 +83,9 @@ workflows:
version: 2
build:
jobs:
- scala_style_check
- clone_repo_and_compile_project
- build:
- scala-style
- compile
- test:
requires:
- scala_style_check
- clone_repo_and_compile_project
- scala-style
- compile

0 comments on commit 960d105

Please sign in to comment.