.circleci/config.yml
version: 2
defaults: &defaults
docker:
- image: circleci/openjdk:8-jdk
working_directory: ~/yggdrasil
environment:
JVM_OPTS: -Xmx3200m
TERM: dumb
jobs:
build:
<<: *defaults
steps:
- checkout
# Download cache if available.
- restore_cache:
keys:
- v1-dependencies-{{ checksum "build.gradle" }}
- v1-dependencies-
- run: ./gradlew dependencies
# Save Gradle cache.
- save_cache:
paths:
- ~/.gradle
key: v1-dependencies-{{ checksum "build.gradle" }}
# Clean, build, and run checks.
- run:
name: Clean
command: ./gradlew clean cleanTest
- run:
name: Compile
command: ./gradlew assemble
- store_artifacts:
path: build/libs
destination: libs/
- persist_to_workspace:
root: ~/yggdrasil
paths:
- build
test:
<<: *defaults
steps:
- checkout
- restore_cache:
keys:
- v1-dependencies-{{ checksum "build.gradle" }}
- v1-dependencies-
- attach_workspace:
at: ~/yggdrasil
- run:
name: Test
command: ./gradlew check
deploy:
<<: *defaults
steps:
- checkout
- restore_cache:
keys:
- v1-dependencies-{{ checksum "build.gradle" }}
- v1-dependencies-
- attach_workspace:
at: ~/yggdrasil
- run:
name: Upload
command: ./gradlew bintrayUpload
workflows:
version: 2
build-test-and-deploy:
jobs:
- build
- test:
requires:
- build
- deploy:
requires:
- test
filters:
branches:
only: master