Continuous Integration in Trellis Workflow

I’m just getting started with adding CI to my Roots workflow. Wrote up a little blog entry about the experience.

It includes using encrypted keys and AFC Pro installer. Here’s the yaml file, from which I have removed yarn run build:production for now because of the libpng16 bug.

Would be interested to hear any feedback or other experiences with Roots-workflow and CI.

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
1 Like