.circleci/config.yml
# PHP CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-php/ for more details
#
version: 2
jobs:
build:
environment:
CC_TEST_REPORTER_ID: '8e76501ef6943aab8b75ccd38af9c741d589f93f920ad447619d7c0bc93ced9f'
docker:
- image: circleci/php:7.4-browsers
working_directory: ~/incognito
steps:
- checkout
# Download and cache dependencies
- restore_cache:
keys:
- v1-dependencies-{{ checksum "composer.json" }}
# fallback to using the latest cache if no exact match is found
- v1-dependencies-
- run:
name: Install gmp-dev
command: 'sudo apt-get install libgmp-dev'
- run:
name: Install ext-gmp
command: 'sudo docker-php-ext-install gmp'
- run: composer install -n --prefer-dist
- save_cache:
paths:
- ./vendor
key: v1-dependencies-{{ checksum "composer.json" }}
- run:
name: Setup Code Climate test-reporter
command: |
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
chmod +x ./cc-test-reporter
- run:
name: Run tests
command: |
sudo docker-php-ext-enable xdebug
./cc-test-reporter before-build
sudo ./vendor/bin/phpunit --coverage-clover ./clover.xml --coverage-html ./coverage --log-junit ~/phpunit/junit.xml
./cc-test-reporter after-build --coverage-input-type clover --exit-code $?
bash <(curl -s https://codecov.io/bash) # Send reports to codecov.io
- run:
name: Run phpstan
command: |
vendor/bin/phpstan analyse --level 7 src
- run:
name: Run phpcs
command: |
vendor/bin/phpcs --colors --standard=PSR1,PSR2 src/
- store_artifacts:
path: './coverage/test-results.xml'
prefix: tests
- store_artifacts:
path: coverage
prefix: coverage
- store_test_results:
path: ~/phpunit
- store_artifacts:
path: ~/phpunit