diff --git a/.circleci/config.yml b/.circleci/config.yml index 79efb2633..8ee578a94 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,15 +3,18 @@ # To manually manage the CircleCI configuration for this project, remove the .circleci/template.sh file. version: 2 + +build-defaults: &build-defaults + resource_class: xlarge + environment: + GRADLE_OPTS: -Dorg.gradle.console=plain -Dorg.gradle.internal.launcher.welcomeMessageEnabled=false + CIRCLE_TEST_REPORTS: /home/circleci/junit + CIRCLE_ARTIFACTS: /home/circleci/artifacts + jobs: build: - docker: [{ image: 'circleci/openjdk:8u181-jdk' }] - resource_class: xlarge - environment: - GRADLE_OPTS: -Dorg.gradle.console=plain -Dorg.gradle.internal.launcher.welcomeMessageEnabled=false - CIRCLE_TEST_REPORTS: /home/circleci/junit - CIRCLE_ARTIFACTS: /home/circleci/artifacts - + docker: [{ image: 'circleci/openjdk:8u181-node' }] + <<: *build-defaults steps: - checkout - restore_cache: { key: 'gradle-wrapper-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}' } @@ -39,6 +42,26 @@ jobs: - store_test_results: { path: ~/junit } - store_artifacts: { path: ~/artifacts } + build-11: + docker: [{ image: 'circleci/openjdk:11-node' }] + <<: *build-defaults + steps: + - checkout + - restore_cache: { key: 'gradle-wrapper-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}' } + - restore_cache: { key: 'gradle-cache-{{ checksum "versions.props" }}-{{ checksum "build.gradle" }}' } + - run: ./gradlew --no-daemon --parallel --stacktrace --continue --max-workers=8 --profile build + - save_cache: + key: 'gradle-wrapper-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}' + paths: [ ~/.gradle/wrapper ] + - save_cache: + key: 'gradle-cache-v2-{{ checksum "versions.props" }}-{{ checksum "build.gradle" }}' + paths: [ ~/.gradle/caches ] + - run: + command: mkdir -p ~/junit && find . -type f -regex ".*/build/.*TEST.*xml" -exec cp --parents {} ~/junit/ \; + when: always + - store_test_results: { path: ~/junit } + - store_artifacts: { path: ~/artifacts } + workflows: version: 2 build: @@ -46,3 +69,6 @@ workflows: - build: # CircleCI2 will ignore tags without this. https://circleci.com/docs/2.0/workflows/#git-tag-job-execution filters: { tags: { only: /.*/ } } + - build-11: + # CircleCI2 will ignore tags without this. https://circleci.com/docs/2.0/workflows/#git-tag-job-execution + filters: { tags: { only: /.*/ } }