pixelcollective/config

View on GitHub
.circleci/config.yml

Summary

Maintainability
Test Coverage
version: 2.1

executors:
  php-73:
    docker:
      - image: circleci/php:7.3-stretch

commands:
  code-climate-build:
    steps:
      - checkout
      - run: sudo pecl channel-update pecl.php.net
      - run: curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
      - run: chmod +x ./cc-test-reporter
      - run: sudo mkdir -p $CIRCLE_TEST_REPORTS/phpunit
      - run: ./cc-test-reporter before-build

  code-climate-exec:
    steps:
      - run: vendor/bin/phpunit --coverage-clover clover.xml
      - run: ./cc-test-reporter after-build -t clover --exit-code $?

  composer-install:
    steps:
      - restore_cache:
          keys:
            - composer-v1-{{ checksum "composer.lock" }}
            - composer-v1-
      - run: composer install -n --prefer-dist
      - save_cache:
          key: composer-v1-{{ checksum "composer.lock" }}
          paths:
            - vendor

jobs:
  build-php:
    executor: php-73
    steps:
      - code-climate-build
      - composer-install
      - code-climate-exec

workflows:
  deploy:
    jobs:
      # Hold build for approval
      - hold:
          type: approval
          filters:
            branches:
              only:
                - master

      # Build PHP
      - build-php:
          requires:
            - hold
          filters:
            branches:
              only:
                - master