version: 2 jobs: build: working_directory: ~/code docker: - image: circleci/android:api-28 environment: JVM_OPTS: -Xmx3200m steps: - checkout - restore_cache: key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }} # - run: # name: Chmod permissions #if permission for Gradlew Dependencies fail, use this. # command: sudo chmod +x ./gradlew - run: name: Setup command: | gem install bundler bundle install mkdir ~/code/reports # Detekt - run: name: Detekt command: fastlane detekt - store_artifacts: # for display in Artifacts: https://circleci.com/docs/2.0/artifacts/ path: reports/detekt # Tests ## App - run: name: Test App command: | fastlane test_app ./gradlew app:jacocoTestReport bash <(curl -s https://codecov.io/bash) - store_artifacts: # for display in Artifacts: https://circleci.com/docs/2.0/artifacts/ path: app/build/reports/tests - store_test_results: # for display in Test Summary: https://circleci.com/docs/2.0/collect-test-data/ path: app/build/test-results ## Core - run: name: Test Core command: | fastlane test_core ./gradlew core:jacocoTestReport bash <(curl -s https://codecov.io/bash) - store_artifacts: # for display in Artifacts: https://circleci.com/docs/2.0/artifacts/ path: core/build/reports/tests - store_test_results: # for display in Test Summary: https://circleci.com/docs/2.0/collect-test-data/ path: core/build/test-results ## Launches - run: name: Test Launches command: | fastlane test_launches ./gradlew features:launches:jacocoTestReport bash <(curl -s https://codecov.io/bash) - store_artifacts: # for display in Artifacts: https://circleci.com/docs/2.0/artifacts/ path: features/launches/build/reports/tests - store_test_results: # for display in Test Summary: https://circleci.com/docs/2.0/collect-test-data/ path: features/launches/build/test-results ## Detail - run: name: Test Detail command: | fastlane test_detail ./gradlew features:detail:jacocoTestReport bash <(curl -s https://codecov.io/bash) - store_artifacts: # for display in Artifacts: https://circleci.com/docs/2.0/artifacts/ path: features/detail/build/reports/tests - store_test_results: # for display in Test Summary: https://circleci.com/docs/2.0/collect-test-data/ path: features/detail/build/test-results ## Abstractions - run: name: Test Abstractions command: | fastlane test_abstractions ./gradlew abstractions:jacocoTestReport bash <(curl -s https://codecov.io/bash) - store_artifacts: # for display in Artifacts: https://circleci.com/docs/2.0/artifacts/ path: repository/build/reports/tests - store_test_results: # for display in Test Summary: https://circleci.com/docs/2.0/collect-test-data/ path: repository/build/test-results ## Definitions - run: name: Test Definitions command: | fastlane test_definitions ./gradlew data:definitions:jacocoTestReport bash <(curl -s https://codecov.io/bash) - store_artifacts: # for display in Artifacts: https://circleci.com/docs/2.0/artifacts/ path: repository/build/reports/tests - store_test_results: # for display in Test Summary: https://circleci.com/docs/2.0/collect-test-data/ path: repository/build/test-results ## Interactors - run: name: Test Interactors command: | fastlane test_interactors ./gradlew data:interactors:jacocoTestReport bash <(curl -s https://codecov.io/bash) - store_artifacts: # for display in Artifacts: https://circleci.com/docs/2.0/artifacts/ path: repository/build/reports/tests - store_test_results: # for display in Test Summary: https://circleci.com/docs/2.0/collect-test-data/ path: repository/build/test-results ## Network - run: name: Test Network command: | fastlane test_network ./gradlew data:network:jacocoTestReport bash <(curl -s https://codecov.io/bash) - store_artifacts: # for display in Artifacts: https://circleci.com/docs/2.0/artifacts/ path: repository/build/reports/tests - store_test_results: # for display in Test Summary: https://circleci.com/docs/2.0/collect-test-data/ path: repository/build/test-results ## Persistence - run: name: Test Persistence command: | fastlane test_persistence ./gradlew data:persistence:jacocoTestReport bash <(curl -s https://codecov.io/bash) - store_artifacts: # for display in Artifacts: https://circleci.com/docs/2.0/artifacts/ path: repository/build/reports/tests - store_test_results: # for display in Test Summary: https://circleci.com/docs/2.0/collect-test-data/ path: repository/build/test-results # See https://circleci.com/docs/2.0/deployment-integrations/ for deploy examples