version: 2.1 # use CircleCI 2.0 orbs: browser-tools: circleci/browser-tools@1.0.1 jobs: # a collection of steps build: # runs not using Workflows must have a `build` job as entry point working_directory: ~/qaf_circleci # directory where steps will run docker: # run the steps with Docker - image: circleci/openjdk:8-jdk-stretch # ...with this image as the primary container; this is where all `steps` will run steps: # a collection of executable commands - checkout # check out source code to working directory - browser-tools/install-chrome - browser-tools/install-chromedriver - restore_cache: # restore the saved cache after the first run or if `pom.xml` has changed # Read about caching dependencies: https://circleci.com/docs/2.0/caching/ key: qaf_circleci-{{ checksum "pom.xml" }} - run: mvn dependency:go-offline # gets the project dependencies - save_cache: # saves the project dependencies paths: - ~/.m2 key: qaf_circleci-{{ checksum "pom.xml" }} - run: mvn clean test # run the actual tests - store_test_results: # uploads the test metadata from the `target/surefire-reports` directory so that it can show up in the CircleCI dashboard. # Upload test results for display in Test Summary: https://circleci.com/docs/2.0/collect-test-data/ path: target/test-results - store_artifacts: # store the uberjar as an artifact # Upload test summary for display in Artifacts: https://circleci.com/docs/2.0/artifacts/ path: target/demo-java-spring-0.0.1-SNAPSHOT.jar # See https://circleci.com/docs/2.0/deployment-integrations/ for deploy examples