.circleci/config.yml

Summary

Maintainability
Test Coverage
version: 2

jobs:
  build:
    docker:
      - image: circleci/php:7.2
    working_directory: ~/spoof
    steps:
      - checkout
      - run:
          name: Enable xdebug
          command: 'sudo docker-php-ext-enable xdebug'
      - run:
          name: Make default timezone UTC
          command: 'echo "date.timezone = UTC" | sudo tee /usr/local/etc/php/conf.d/date.ini > /dev/null'
      - run:
          name: Install Composer
          command: |
            php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
            php -r "if (hash_file('SHA384', 'composer-setup.php') === trim(file_get_contents('https://composer.github.io/installer.sig'))) { echo 'Installer verified'; } else { echo 'Installer invalid'; unlink('composer-setup.php'); } echo PHP_EOL;"
            php composer-setup.php
            php -r "unlink('composer-setup.php');"
      - restore_cache:
          keys:
            - composer-v1-{{ checksum "composer.json" }}
      - run:
          name: Install composer dependencies
          command: 'php composer.phar install'
      - save_cache:
          key: composer-v1-{{ checksum "composer.json" }}
          paths:
            - vendor
      - run:
          name: Run Tests
          command: 'vendor/bin/phpunit -c src/tests/phpunit-log.xml'
      - run:
          name: Create test reports directory
          command: 'sudo mkdir -p /phpunit'
      - run:
          name: Copy test results for circleci use
          command: 'sudo cp build/logs/junit.xml /phpunit/junit.xml'
      - store_test_results:
          path: /phpunit
      - store_artifacts:
          path: /phpunit
      - run:
          name: Report test results to codeclimate
          command: 'vendor/bin/test-reporter'