version: 2
jobs:
build_and_test:
docker:
- image: circleci/php:7.1
steps:
- checkout
- restore_cache:
keys:
- v1-dependencies-{{ checksum "composer.json" }}
- v1-dependencies-
- run: composer install -n --prefer-dist
- save_cache:
paths:
- ./vendor
key: v1-dependencies-{{ checksum "composer.json" }}
- run: ./vendor/bin/phpunit --log-junit ~/phpunit/junit.xml
- store_test_results:
path: ~/phpunit
- store_artifacts:
deploy:
- image: ansible/ansible:ubuntu1604
- run:
name: Install system packages.
command: pip install --upgrade pip && pip install ansible
key: v1-{{ .Branch }}-{{ checksum "ansible/requirements.yml" }}
- run ansible-galaxy install -r ansible/requirements.yml
- '/root/.ansible/roles'
workflows:
build_test_and_deploy:
- build_and_test
- deploy
nightly:
triggers:
- schedule:
cron: "0 4 * * *"
filters:
branches:
only: master