Skip to content

Instantly share code, notes, and snippets.

@dmongeau
Last active April 27, 2022 10:16
Show Gist options
  • Star 10 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dmongeau/e886f48a51c65320dfd2bf496bbe454c to your computer and use it in GitHub Desktop.
Save dmongeau/e886f48a51c65320dfd2bf496bbe454c to your computer and use it in GitHub Desktop.
Example of travis configuration for Laravel Package testing (5.1 to 5.8) on multiple versions of PHP (5.5 to 7.3) with code coverage (coveralls)
language: php
cache:
directories:
- $HOME/.cache/pip
- $HOME/.composer/cache/files
php:
- 5.6
- 7.0
- 7.1
- 7.3
env:
- ILLUMINATE_VERSION=5.1.* PHPUNIT_VERSION=~4.0
- ILLUMINATE_VERSION=5.2.* PHPUNIT_VERSION=~4.0
- ILLUMINATE_VERSION=5.3.* PHPUNIT_VERSION=~5.0
- ILLUMINATE_VERSION=5.4.* PHPUNIT_VERSION=~5.7
- ILLUMINATE_VERSION=5.5.* PHPUNIT_VERSION=~6.0
- ILLUMINATE_VERSION=5.6.* PHPUNIT_VERSION=~7.0
- ILLUMINATE_VERSION=5.7.* PHPUNIT_VERSION=~7.0
- ILLUMINATE_VERSION=5.8.* PHPUNIT_VERSION=^7.5 COVERAGE=true
matrix:
# For each PHP version we exclude the coverage env, except for PHP 7.1
exclude:
# Don't test Laravel 5.5 and up on PHP 5.6
- php: 5.6
env: ILLUMINATE_VERSION=5.5.* PHPUNIT_VERSION=~6.0
- php: 5.6
env: ILLUMINATE_VERSION=5.6.* PHPUNIT_VERSION=~7.0
- php: 5.6
env: ILLUMINATE_VERSION=5.7.* PHPUNIT_VERSION=~7.0
- php: 5.6
env: ILLUMINATE_VERSION=5.8.* PHPUNIT_VERSION=^7.5 COVERAGE=true
# Test Laravel 5.5 and down on PHP 7.0
- php: 7.0
env: ILLUMINATE_VERSION=5.6.* PHPUNIT_VERSION=~7.0
- php: 7.0
env: ILLUMINATE_VERSION=5.7.* PHPUNIT_VERSION=~7.0
- php: 7.0
env: ILLUMINATE_VERSION=5.8.* PHPUNIT_VERSION=^7.5 COVERAGE=true
# Test only Laravel 5.4 and up on PHP 7.1
- php: 7.1
env: ILLUMINATE_VERSION=5.1.* PHPUNIT_VERSION=~4.0
- php: 7.1
env: ILLUMINATE_VERSION=5.2.* PHPUNIT_VERSION=~4.0
- php: 7.1
env: ILLUMINATE_VERSION=5.3.* PHPUNIT_VERSION=~5.0
before_install:
- echo "memory_limit=2G" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini
- cp ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini ~/xdebug.ini
- phpenv config-rm xdebug.ini
- composer global require hirak/prestissimo --update-no-dev
- composer require "illuminate/support:${ILLUMINATE_VERSION}" --no-update --prefer-dist
- composer require "orchestra/testbench:${ILLUMINATE_VERSION/5\./3\.}" --no-update --prefer-dist
- composer require "phpunit/phpunit:${PHPUNIT_VERSION}" --no-update --prefer-dist
install: travis_retry composer install --no-interaction --prefer-dist
before_script: phpenv config-add ~/xdebug.ini
script: vendor/bin/phpunit
after_success: sh -c "if [ ! -z ${COVERAGE+x} ]; then travis_retry php vendor/bin/php-coveralls; fi"
notifications:
email: false
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment