Skip to content

Commit

Permalink
Merge pull request #85 from LionsAd/test-cache
Browse files Browse the repository at this point in the history
Try to use caching
  • Loading branch information
LionsAd committed Jul 16, 2015
2 parents 070f62f + 3692def commit c59a73d
Showing 1 changed file with 54 additions and 13 deletions.
67 changes: 54 additions & 13 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,28 +15,28 @@ php:
- 5.4
- 5.5
- 5.6
- 7
- hhvm

branches:
only:
- "7.x-1.x"
- "8.x-1.x"

cache:
apt: true
directories:
- $HOME/drupal-ti-cache

matrix:
fast_finish: true
allow_failures:
- php: 5.6
- php: hhvm
exclude:
- php: 7
include:
# Don't need to test twice on all versions, PHP 5.4 is enough.
- php: 5.3
env: DRUPAL_TI_RUNNERS="phpunit"
- php: 5.5
env: DRUPAL_TI_RUNNERS="phpunit"
- php: 5.6
env: DRUPAL_TI_RUNNERS="phpunit"
- php: hhvm
env: DRUPAL_TI_RUNNERS="phpunit"
- php: 5.4
env: DRUPAL_TI_RUNNERS="phpunit" DRUPAL_TI_SAVE_CACHE="0"

env:
global:
Expand Down Expand Up @@ -66,8 +66,21 @@ env:
# Debug options
#- DRUPAL_TI_DEBUG="-x -v"

# Cache options
# Use this variable to use another cache directory, usually not needed to be changed.
- DRUPAL_TI_CACHE_DIR="$HOME/drupal-ti-cache/"
# Set to 0 or comment out to disable cache loading.
- DRUPAL_TI_LOAD_CACHE="1"
# Set to 0 to disable cache saving, useful with many variants.
# Note: Setting this to "0" will remove the .casher directory to
# avoid race conditions between builds.
- DRUPAL_TI_SAVE_CACHE="1"
# Setup dirs to cache relative to another environment variable.
- DRUPAL_TI_CACHE_DIRS_HOME=".composer|.drush|.dist"
- DRUPAL_TI_CACHE_DIRS_TRAVIS_BUILD_DIR="tests/vendor"

matrix:
- DRUPAL_TI_RUNNERS="phpunit"
#- DRUPAL_TI_RUNNERS="phpunit"
- DRUPAL_TI_RUNNERS="phpunit simpletest"

mysql:
Expand All @@ -76,9 +89,22 @@ mysql:
encoding: utf8

before_install:
- cd ./tests
# Restore home directory from cache.
- mkdir -p "$DRUPAL_TI_CACHE_DIR"/HOME
- if [ "$DRUPAL_TI_LOAD_CACHE" = "1" ]; then rsync -a "$DRUPAL_TI_CACHE_DIR"/HOME/ "$HOME/"; fi

# Update composer
- composer self-update
- composer global require "lionsad/drupal_ti:dev-master"

# Download drupal_ti - if not cached
- if [ -f "$HOME/.composer/vendor/bin/drupal-ti" ]; then composer global install; else composer global require "lionsad/drupal_ti:dev-master"; fi

# Restore caches from $DRUPAL_TI_CACHE_DIR/TRAVIS_BUILD_DIR to $TRAVIS_BUILD_DIR
# Note: HOME dir was already synced manually above.
- drupal-ti --load-cache TRAVIS_BUILD_DIR

# Setup tests
- cd ./tests
- drupal-ti before_install

install:
Expand All @@ -90,6 +116,21 @@ before_script:
script:
- drupal-ti script

# Syncs $DRUPAL_TI_CACHE_DIRS_{*} to $DRUPAL_TI_CACHE_DIR/{*}
# Has internal optimizations for .composer and .drush.
- drupal-ti --save-cache TRAVIS_BUILD_DIR HOME

# Do some manual caching as well
- if [ "$DRUPAL_TI_SAVE_CACHE" = "1" ]; then rsync -a composer.{json,lock} "$DRUPAL_TI_CACHE_DIR"/TRAVIS_BUILD_DIR/tests/; fi

# Delete composer generated files that screw up cache detection.
- rm -f "$DRUPAL_TI_CACHE_DIR"/TRAVIS_BUILD_DIR/tests/.composer/vendor/composer/*.php
- rm -f "$DRUPAL_TI_CACHE_DIR"/TRAVIS_BUILD_DIR/tests/.composer/vendor/autoload.php

# Tests for differences and touches a file if any are detected (optional).
- du -sh "$DRUPAL_TI_CACHE_DIR"
- drupal-ti --sync-cache

after_script:
- drupal-ti after_script

Expand Down

0 comments on commit c59a73d

Please sign in to comment.