82 lines
2.2 KiB
YAML
82 lines
2.2 KiB
YAML
version: 2
|
|
|
|
jobs:
|
|
build:
|
|
docker:
|
|
- image: circleci/php:7.1-node-browsers
|
|
environment:
|
|
APP_DEBUG: true
|
|
APP_ENV: testing
|
|
APP_KEY: base64:f2tcw34GKT8EOtb5myZxJ8QLdgNivmyPhoQIPY2YfK8=
|
|
DB_CONNECTION: pgsql
|
|
DB_DATABASE: tissue
|
|
DB_USERNAME: tissue
|
|
DB_PASSWORD: tissue
|
|
- image: circleci/postgres:10-alpine
|
|
environment:
|
|
POSTGRES_DB: tissue
|
|
POSTGRES_USER: tissue
|
|
POSTGRES_PASSWORD: tissue
|
|
steps:
|
|
- checkout
|
|
|
|
- run: sudo apt update
|
|
- run: sudo apt install -y libpq-dev
|
|
- run: sudo docker-php-ext-install zip
|
|
- run: sudo docker-php-ext-install pdo_pgsql
|
|
|
|
- restore_cache:
|
|
keys:
|
|
- v1-dependencies-{{ checksum "composer.json" }}
|
|
- v1-dependencies-
|
|
- run: composer install -n --prefer-dist
|
|
- save_cache:
|
|
key: v1-dependencies-{{ checksum "composer.json" }}
|
|
paths:
|
|
- ./vendor
|
|
|
|
- restore_cache:
|
|
keys:
|
|
- v1-dependencies-{{ checksum "package.json" }}
|
|
- v1-dependencies-
|
|
- run: yarn install
|
|
- save_cache:
|
|
key: v1-dependencies-{{ checksum "package.json" }}
|
|
paths:
|
|
- ./node_modules
|
|
- ~/.yarn
|
|
|
|
- run: php artisan migrate
|
|
- run: yarn run prod
|
|
|
|
# Run linter
|
|
- run:
|
|
command: |
|
|
mkdir -p /tmp/php-cs-fixer
|
|
./vendor/bin/php-cs-fixer fix --dry-run --diff --format=junit > /tmp/php-cs-fixer/php-cs-fixer.xml
|
|
when: always
|
|
- store_test_results:
|
|
path: /tmp/php-cs-fixer
|
|
|
|
# Run stylelint
|
|
- run:
|
|
name: stylelint
|
|
command: yarn run stylelint
|
|
when: always
|
|
|
|
# Run unit test
|
|
- run:
|
|
command: |
|
|
mkdir -p /tmp/phpunit
|
|
./vendor/bin/phpunit --log-junit /tmp/phpunit/phpunit.xml --coverage-clover=/tmp/phpunit/coverage.xml
|
|
when: always
|
|
- store_test_results:
|
|
path: /tmp/phpunit
|
|
- store_artifacts:
|
|
path: /tmp/phpunit/coverage.xml
|
|
|
|
# Upload coverage
|
|
- run:
|
|
command: bash <(curl -s https://codecov.io/bash) -f /tmp/phpunit/coverage.xml
|
|
when: always
|