blessing-skin-server/.circleci/config.yml
2018-11-25 14:54:46 +08:00

114 lines
3.3 KiB
YAML

version: 2
jobs:
frontend:
working_directory: ~/repo
docker:
- image: circleci/node:10
steps:
- checkout
- restore_cache:
keys:
- v1-dependencies-{{ checksum "yarn.lock" }}
- v1-dependencies-
- run: yarn
- save_cache:
paths:
- node_modules
- ~/.yarn
key: v1-dependencies-{{ checksum "yarn.lock" }}
- run: yarn lint
- run: yarn test --verbose --coverage
- run: yarn codecov
install:
working_directory: ~/repo
docker:
- image: circleci/php:7.1-cli
steps:
- checkout
- restore_cache:
keys:
- v1-dependencies-{{ checksum "composer.lock" }}
- v1-dependencies-
- run:
name: Install PHP extension
command: |
# https://discuss.circleci.com/t/issue-with-installing-php-extension-gd/26550/6
sudo apt-get install -y libpng-dev
sudo -E docker-php-ext-install -j$(nproc) gd
- run: composer install -n --prefer-dist
- save_cache:
paths:
- vendor
key: v1-dependencies-{{ checksum "composer.lock" }}
- run: cp .env.testing .env
- run: php artisan key:random
- run: php artisan salt:random
- persist_to_workspace:
root: ~/repo
paths:
- .
test_php71:
working_directory: ~/repo
docker:
- image: circleci/php:7.1-cli
environment:
APP_ENV: testing
DB_USERNAME: root
DB_DATABASE: circle_test
steps:
- attach_workspace:
at: ~/repo
- run:
name: Install PHP extension
command: |
# https://discuss.circleci.com/t/issue-with-installing-php-extension-gd/26550/6
sudo apt-get install -y libpng-dev libsqlite3-dev libzip-dev
sudo docker-php-ext-install zip
sudo docker-php-ext-configure intl
sudo docker-php-ext-install intl
sudo -E docker-php-ext-install -j$(nproc) pdo_sqlite
sudo -E docker-php-ext-install -j$(nproc) gd
- run: touch storage/testing.sqlite
- run: ./vendor/bin/phpunit --coverage-clover=coverage.xml
- run: bash <(curl -s https://codecov.io/bash) -cF php
test_php72:
working_directory: ~/repo
docker:
- image: circleci/php:7.2-cli
environment:
APP_ENV: testing
DB_CONNECTION: sqlite
DB_DATABASE: storage/testing.sqlite
steps:
- attach_workspace:
at: ~/repo
- run:
name: Install PHP extension
command: |
# https://discuss.circleci.com/t/issue-with-installing-php-extension-gd/26550/6
sudo apt-get install -y libpng-dev libsqlite3-dev libzip-dev
sudo docker-php-ext-install zip
sudo docker-php-ext-configure intl
sudo docker-php-ext-install intl
sudo -E docker-php-ext-install -j$(nproc) pdo_sqlite
sudo -E docker-php-ext-install -j$(nproc) gd
- run: touch storage/testing.sqlite
- run: ./vendor/bin/phpunit
workflows:
version: 2
install_and_test:
jobs:
- frontend
- install
- test_php71:
requires:
- install
- test_php72:
requires:
- install