Skip to content

Commit

Permalink
Excavator: Render CircleCI file using template specified in .circleci…
Browse files Browse the repository at this point in the history
…/template.sh (#332)
  • Loading branch information
svc-excavator-bot authored and iamdanfox committed Oct 10, 2018
1 parent 15c5820 commit 0bea552
Showing 1 changed file with 44 additions and 34 deletions.
78 changes: 44 additions & 34 deletions .circleci/config.yml
Expand Up @@ -3,53 +3,62 @@
# 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:8u171-jdk-node-browsers
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" }}
- restore_cache:
key: gradle-cache-{{ checksum "versions.props" }}-{{ checksum "build.gradle" }}

- run: ./gradlew --profile --parallel resolveConfigurations

- 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
key: 'gradle-wrapper-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}'
paths: [ ~/.gradle/wrapper ]
- save_cache:
key: gradle-cache-{{ checksum "versions.props" }}-{{ checksum "build.gradle" }}
paths:
- ~/.gradle/caches

- run: ./gradlew --profile --parallel --continue build

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/ \;
command: mkdir -p ~/junit && find . -type f -regex ".*/build/.*TEST.*xml" -exec cp --parents {} ~/junit/ \;
when: always

- deploy:
command: |
# publishing snapshots to bintray does not work, so we only publish from tag builds (not develop)
if [[ "${CIRCLE_TAG}" =~ [0-9]+(\.[0-9]+)+(-[a-zA-Z]+[0-9]*)* ]]; then
./gradlew --profile --stacktrace --continue publish
./gradlew --no-daemon --parallel --stacktrace --continue --max-workers=8 --profile publish
else
./gradlew --profile --parallel --continue publishToMavenLocal
./gradlew --no-daemon --parallel --stacktrace --continue --max-workers=8 --profile publishToMavenLocal
mkdir -p $CIRCLE_ARTIFACTS/poms
find . -name 'pom-default.xml' -exec cp --parents {} $CIRCLE_ARTIFACTS/poms \;
fi
- 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 }

Expand All @@ -58,7 +67,8 @@ workflows:
build:
jobs:
- build:
filters:
# CircleCI2 will ignore tags without this. https://circleci.com/docs/2.0/workflows/#git-tag-job-execution
tags:
only: /.*/
# 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: /.*/ } }

0 comments on commit 0bea552

Please sign in to comment.