version: 2 references: workspace_root: &workspace_root ~/wulkanowy container_config: &container_config docker: - image: circleci/android:api-25-alpha working_directory: *workspace_root environment: environment: JVM_OPTS: -Xmx3200m attach_workspace: &attach_workspace attach_workspace: at: *workspace_root general_cache_key: &general_cache_key key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }} jobs: build: <<: *container_config steps: - checkout - restore_cache: <<: *general_cache_key - run: name: Setup environment command: ./gradlew --no-daemon --stacktrace dependencies || true - run: name: Initial build command: ./gradlew --no-daemon --stacktrace assembleDebug - store_artifacts: path: ./app/build/outputs/apk/ destination: apks/ - persist_to_workspace: root: *workspace_root paths: - . - save_cache: <<: *general_cache_key paths: - "~/.gradle" lint: <<: *container_config steps: - *attach_workspace - restore_cache: <<: *general_cache_key - run: name: Run lint command: ./gradlew --no-daemon --stacktrace lint - store_artifacts: path: ./app/build/reports/ destination: lint_reports/app/ test: <<: *container_config steps: - *attach_workspace - restore_cache: <<: *general_cache_key - run: name: Run Tests command: ./gradlew --no-daemon --stacktrace test - run: name: Upload code coverage command: ./gradlew --no-daemon --stacktrace codacyUpload - store_artifacts: path: ./app/build/reports/tests/ destination: tests_reports/ - store_artifacts: path: ./app/build/reports/jacoco/jacocoTestDebugUnitTestReport/ destination: coverage_reports/ - store_test_results: path: ./app/build/test-results workflows: version: 2 build_check_tests: jobs: - build - lint: requires: - build - test: requires: - build