Following this answer, I wrote this Travis configuration file :
language: php
php:
- 5.3
- 5.4
- 5.5
- 5.6
- 7
- hhvm
- nightly
branches:
only:
- master
- /^\d+\.\d+\.\d+$/
matrix:
fast_finish: true
include:
- php: 5.3
env: deps="low"
- php: 5.5
env: SYMFONY_VERSION=2.3.*
- php: 5.5
env: SYMFONY_VERSION=2.4.*
- php: 5.5
env: SYMFONY_VERSION=2.5.*
- php: 5.5
env: SYMFONY_VERSION=2.6.*
- php: 5.5
env: SYMFONY_VERSION=2.7.*
- php: 5.5
env: SYMFONY_VERSION=2.8.*@dev TEST_GROUP=canFail
allow_failures:
- php: nightly
- env: TEST_GROUP=canFail
before_script:
- composer self-update
- if [ "$SYMFONY_VERSION" != "" ]; then composer require --dev --no-update symfony/symfony=$SYMFONY_VERSION; fi
- if [ "$deps" = "low" ]; then composer update --prefer-lowest; fi
- if [ "$deps" != "low" ]; then composer update --prefer-source; fi
script: phpunit
But Travis CI counts only the php nightly version as an "allowed to fail" version. Am I using the environment variables in a wrong way ?
UPDATE
Just a precision, I know that I can directly write the environment like that:
matrix:
include:
- php: 5.5
env: SYMFONY_VERSION=2.8.*@dev
allow_failures:
- env: SYMFONY_VERSION=2.8.*@dev
but still I don't get why the other way doesn't work.