.travis.yml是:
request.getSession().setAttribute("username", nameOfUser);
https://lint.travis-ci.org/找不到sudo: false
language: php
php:
- 5.6
- 7.0
- 7.1
- hhvm
matrix:
allow_failures:
- php: 7.1
before_script:
- composer install --no-suggest ;
script:
- if [ "$TRAVIS_PHP_VERSION" == "7.0" ] ; then
vendor/bin/phpunit --coverage-clover clover.xml ;
vendor/bin/phpcs ;
else
vendor/bin/phpunit ;
fi
after_script:
- if [ "$TRAVIS_PHP_VERSION" == "7.0" ] ; then
vendor/bin/coveralls --coverage_clover=clover.xml -v ;
fi
上的错误和shell工作正常
但是https://insight.sensiolabs.com标记 严重错误 travis-ci.org
:
YAML files should not contain syntax error
我该如何解决这个问题?
答案 0 :(得分:2)
PHP YAML解析器documented用于解析配置文件的YAML子集。
它仅支持处理配置文件所需的功能。
有些事情比较难以解决,遗漏的是处理多行标量字符串,文档甚至指出实现多行引用消息要简单得多(即标量字符串)不受支持。
声称是最好的在线YAML验证器的Codebeautify也无法处理这个正确的YAML文档,但是它们似乎也使用了缺陷的PHP YAML解析器。
如果您坚持使用PHP,那么您可以做三件事,使用literal style scalars可读性更高(请注意序列元素指示符|
后面的-
):< / p>
sudo: false
language: php
php:
- 5.6
- 7.0
- 7.1
- hhvm
matrix:
allow_failures:
- php: 7.1
before_script:
- composer install --no-suggest ;
script:
- |
if [ "$TRAVIS_PHP_VERSION" == "7.0" ] ; then
vendor/bin/phpunit --coverage-clover clover.xml ;
vendor/bin/phpcs ;
else
vendor/bin/phpunit ;
fi
after_script:
- |
if [ "$TRAVIS_PHP_VERSION" == "7.0" ] ; then
vendor/bin/coveralls --coverage_clover=clover.xml -v ;
fi
然而,这会改变字符串,因为保留了换行符。
类似于folded style scalar string,如果它不是缩进行,它将在YAML加载时删除换行符。因此,如果上述方法无效,您可以这样做:
sudo: false
language: php
php:
- 5.6
- 7.0
- 7.1
- hhvm
matrix:
allow_failures:
- php: 7.1
before_script:
- composer install --no-suggest ;
script:
- >-
if [ "$TRAVIS_PHP_VERSION" == "7.0" ] ; then
vendor/bin/phpunit --coverage-clover clover.xml ;
vendor/bin/phpcs ;
else
vendor/bin/phpunit ;
fi
after_script:
- >-
if [ "$TRAVIS_PHP_VERSION" == "7.0" ] ; then
vendor/bin/coveralls --coverage_clover=clover.xml -v ;
fi
最后一个选项是将标量字符串重写为一行:
sudo: false
language: php
php:
- 5.6
- 7.0
- 7.1
- hhvm
matrix:
allow_failures:
- php: 7.1
before_script:
- composer install --no-suggest ;
script:
- if [ "$TRAVIS_PHP_VERSION" == "7.0" ] ; then vendor/bin/phpunit --coverage-clover clover.xml ; vendor/bin/phpcs ; else vendor/bin/phpunit ; fi
after_script:
- if [ "$TRAVIS_PHP_VERSION" == "7.0" ] ; then vendor/bin/coveralls --coverage_clover=clover.xml -v ; fi
这个最后一个版本和折叠样式加载与YAML源完全相同,通过比PHP使用的更完整的YAML解析器。文字样式加载了不同的东西,但如果您的应用程序以相同的方式处理这些标量字符串中的换行符和空格,那么它可能仍然有用。
答案 1 :(得分:0)
找到answer,one more:使用literal scalar
sudo: false
language: php
php:
- 5.6
- 7.0
- 7.1
- hhvm
matrix:
allow_failures:
- php: 7.1
before_script:
- composer install --no-suggest ;
script:
- |
if [ "$TRAVIS_PHP_VERSION" == "7.0" ] ; then
vendor/bin/phpunit --coverage-clover clover.xml ;
vendor/bin/phpcs ;
else
vendor/bin/phpunit ;
fi
after_script:
- |
if [ "$TRAVIS_PHP_VERSION" == "7.0" ] ; then
vendor/bin/coveralls --coverage_clover=clover.xml -v ;
fi