So I started with a super minimal .travis.yml
configuration file:
sudo: false
language: php
php:
- '7.1'
How could that fail, right? Not. Travis needs something to do, so it defaults to running phpunit and if you run phpunit without any tests in place you get an error. So there needs to be some kind of script.
Potentially the entire script could be:
script:
- cd $TRAVIS_BUILD_DIR
Which would override the default phpunit call.
We’re also including some private repositories as composer dependencies. In order to do that you need to configure the github auth token which I found a tutorial on.
Advanced Custom Fields Pro is installed via the PhilippBaschke acf-pro-installer, which requires including a travis encrypted environment variable.
There’s a bug with yarn run build:production
so for now I just removed it. Here’s the yaml file:
language: php
sudo: false
dist: trusty
php:
- 7.1
- nightly
matrix:
- fast_finish: true
- allow_failures:
- php: nightly
install:
- git clone --depth=0 https://github.com/$TRAVIS_REPO_SLUG.git $TRAVIS_REPO_SLUG
- cd $TRAVIS_REPO_SLUG
- git checkout -qf $TRAVIS_COMMIT
env:
global:
- THEME_DIR=./site/web/app/themes/intensity-club-theme/
- SITE_DIR=./site/
- TRAVIS_NODE_VERSION="9"
matrix:
- secure: sgwIUeoGJoPSVzVCpwjdS0bqc9zMJGbfSFQk+JZOguX8sJe7JQgyE3KQ2j9zi0njQhdzU0ilJGyXQA4Hqk7xVWtJWJp2NDeGSFJG7yY4DJB/1k1tq2+cLLBiQC6X41MjnABcee9J+SVuM6aD4nqp2F22UKAnZsqHpBR90+bpoxjg0nSNyXkLkdWR7KB1wstrt+2un4epcJxJ6+4kUJGKnxIa+rbK9g3zA4RTub7JPvqOo45gO7yPGbJdgAVSJAY2gyufhcs3hLz8uQW5bFAW1wD/kwldoqUJXRmCtWuAIbazsK036rgff2BI0qlXI7i5BPiV8cBR3btLSDPkbaSUszmdxwGCraku6XYGHaTPm/4aJoO6DGipBL8SEQaudwDry6c/lY0QVgcfQHVueaXM2wnSzCYJPViQWdW9JopCn8SZOOI1lFF/5fF3vrV9yMhgZZDt4UXYcoQprKdSR1mgRdEcgwWrMSDCbR9Gy0zFtTLIeuoMLZhsfCJXJG4zqTzL9+JoNJugs2HCFRVKg1nOCKd25daK/7AyxcKiCktuDFq7LsgtQYozWQj9GNLbGw3jwbmQ/X/dypcDwTHXhL/I3Mq3mK6ulKJpbzsDoUr/yStbQGq2gfCAYioE3okGfGweAOzzRIjAUdSsv4rBRvOYzOSuGCEvz0lNOE1kJ/Dg5Nc=
cache:
apt: true
directories:
- $SITE_DIR/.composer/cache
- $THEME_DIR/.yarn-cache
- vendor
before_install:
- composer self-update
- source ~/.nvm/nvm.sh && nvm install $TRAVIS_NODE_VERSION && nvm use $TRAVIS_NODE_VERSION
- export PATH=$HOME/.yarn/bin:$PATH && travis_retry curl -o- -L https://yarnpkg.com/install.sh | bash
install:
- cd $SITE_DIR
- composer config github-oauth.github.com ${GITHUB_TOKEN}
- composer validate --no-check-all --ansi
- composer install --no-dev --no-scripts --quiet --optimize-autoloader
- cd $TRAVIS_BUILD_DIR
- cd $THEME_DIR
- node -v && yarn -V
- travis_retry yarn
script:
- yarn run test
- yarn run build
- yarn run rmdist