mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-06-30 00:19:25 +02:00
This shifts the behat test run to be triggered form composer activity within the framework module directly, * silverstripe/serve is used to provide a webserver, based on the php -S command * se/selenium-server-standalone is used to install selenium rather than a download command Because we’re using serve, the behat configuration can be locked down. Further refinements could be made on this: * the behat-extension could be responsible for installing and starting/stopping selenium, making these tests more portable * xvfb initialisation could be provided with another bin tool in the begat-extension: vendor/bin/xvfb 1024x768 * The bootstrap-file argument to serve could be provided as part of a composer.json setting. This would make it easier for developers to start a dev server simply by running vendor/bin/serve * the behat-extension could be responsible for installing and starting/stopping silverstripe/serve, removing the need for specifying base_url at all, and possibly utilising the same bootstrap file between serve and behat.
78 lines
3.6 KiB
YAML
78 lines
3.6 KiB
YAML
language: php
|
|
|
|
sudo: false
|
|
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- tidy
|
|
|
|
env:
|
|
global:
|
|
- TRAVIS_NODE_VERSION="4"
|
|
- ARTIFACTS_REGION=us-east-1
|
|
- ARTIFACTS_BUCKET=silverstripe-travis-artifacts
|
|
- secure: "jVR0iLTuvVfA6jKX5+A3AdUEs8Ps+r3SbL0zGR687K8IoSp3a/+JLH12zFCEexOuxwCtOhlMq8zoZsptCEduCDq+0payk5k6GjNVywFaWjJCV573JScdaHAtoumoHMUvua+Pxds0qKAD2XEYAcOR4Qu7S4HLJV6E1QqHg9PRW5s=" # Encrypted ARTIFACTS_KEY
|
|
- secure: "SDGv49c2Ee2YBz7dATE3WnHSVSvJiRJ2BVtRasVshdNDNz3NBRzh13C2fDwTGBU1J6PxiQaGTXBy/BGsvbYk2BvdzHVwozkBpHVSaCNdarpCJ5yZZTqKC3mpA1S5353r5tqronwFuMDpftzXnRMfLZGGQ4kYb9hjV55+FPUTFPk=" # Encrypted ARTIFACTS_SECRET
|
|
|
|
matrix:
|
|
include:
|
|
- php: 5.5
|
|
env: DB=MYSQL PHPUNIT_TEST=1
|
|
- php: 5.5
|
|
env: DB=PGSQL PHPUNIT_TEST=1
|
|
- php: 5.5
|
|
env: DB=SQLITE PHPUNIT_TEST=1
|
|
- php: 5.6
|
|
env: DB=MYSQL PDO=1 PHPUNIT_TEST=1
|
|
- php: 5.6
|
|
env: DB=MYSQL BEHAT_TEST=1
|
|
- php: 5.6
|
|
env: NPM_TEST=1
|
|
allow_failures:
|
|
- php: 5.6
|
|
env: DB=MYSQL CMS_TEST=1 PHPUNIT_TEST=1
|
|
- php: 5.6
|
|
env: DB=MYSQL CMS_TEST=1 BEHAT_TEST=1
|
|
- php: 7.0
|
|
env: DB=MYSQL PDO=1 PHPUNIT_TEST=1
|
|
|
|
before_script:
|
|
- printf "\n" | pecl install imagick
|
|
- composer self-update || true
|
|
- phpenv rehash
|
|
- phpenv config-rm xdebug.ini
|
|
- "export DISPLAY=\":99\""
|
|
- "export XVFBARGS=\":99 -ac -screen 0 1024x768x16\""
|
|
- "if [ \"$na\" = \"\" ]; then composer install --prefer-dist; fi"
|
|
- "if [ \"$DB\" = \"PGSQL\" ]; then composer require silverstripe/postgresql:2.0.x-dev --prefer-dist; fi"
|
|
- "if [ \"$DB\" = \"SQLITE\" ]; then composer require silverstripe/sqlite3:2.0.x-dev --prefer-dist; fi"
|
|
- "if [ \"$CMS_TEST\" = \"1\" ]; then COMPOSER_ROOT_VERSION=4.0.x-dev composer require silverstripe/cms:4.0.x-dev silverstripe/siteconfig:4.0.x-dev silverstripe/reports:4.0.x-dev --prefer-dist; fi"
|
|
- "if [ \"$NPM_TEST\" = \"1\" ]; then nvm install $TRAVIS_NODE_VERSION && npm install; fi"
|
|
|
|
- "if [ \"$BEHAT_TEST\" = \"1\" ]; then sh -e /etc/init.d/xvfb start; sleep 3; fi"
|
|
- "if [ \"$BEHAT_TEST\" = \"1\" ]; then (vendor/bin/selenium-server-standalone > selenium.log 2>&1 &); fi"
|
|
- "if [ \"$BEHAT_TEST\" = \"1\" ]; then (vendor/bin/serve --bootstrap-file tests/behat/serve-bootstrap.php &> serve.log &); fi"
|
|
script:
|
|
- "if [ \"$PHPUNIT_TEST\" = \"1\" ] && [ \"$CMS_TEST\" = \"\" ]; then vendor/bin/phpunit; fi"
|
|
- "if [ \"$PHPUNIT_TEST\" = \"1\" ] && [ \"$CMS_TEST\" = \"1\" ]; then vendor/bin/phpunit cms/tests; fi"
|
|
- "if [ \"$BEHAT_TEST\" = \"1\" ] && [ \"$CMS_TEST\" = \"\" ]; then vendor/bin/behat --config tests/behat/config.yml .; fi"
|
|
- "if [ \"$BEHAT_TEST\" = \"1\" ] && [ \"$CMS_TEST\" = \"1\" ]; then vendor/bin/behat @cms --config cms/tests/behat/behat.yml; fi"
|
|
- "if [ \"$NPM_TEST\" = \"1\" ]; then npm run test; fi"
|
|
|
|
after_failure:
|
|
- php ~/travis-support/travis_upload_artifacts.php --if-env BEHAT_TEST,ARTIFACTS_BUCKET,ARTIFACTS_KEY,ARTIFACTS_SECRET --target-path $TRAVIS_REPO_SLUG/$TRAVIS_BUILD_ID/$TRAVIS_JOB_ID --artifacts-base-url https://s3.amazonaws.com/$ARTIFACTS_BUCKET/
|
|
|
|
branches:
|
|
except:
|
|
- 2.1
|
|
- 2.2
|
|
- 2.3
|
|
- translation-staging
|
|
|
|
# global:
|
|
# - secure: "AZmjVPtUD8JBA7ag4ULlEwEKXSEZbIUjDHeRBFugaOtdsn5yigGLmwYbzsg2tq7k7UkdbbAlGct0SUbiRJb9F2wPA5+eUd/p49fgDIU6CTSWIlT87H2BwgOrxKwS9sDwxLptPFM6vWQ8JKYSNGmVIepie9kQZbu4L2k5k6B69jQ="
|
|
# - secure: "f3kKpUn9cS5K+p/E52cMqN18cDApol/43LanDmHO6mo3iRAztk3jZLyfNOUq6JASKMqdh8+9kencRpEoaAYbcQnDPoZsT9POResiJ9/ADKB6RwWy+lcFHUp9E2Zf/x2VRh9FmXEguDhpWzkJqzWYJGCSig1IBp/+TjzKnsjQHIY="
|
|
#
|
|
# - php ~/travis-support/travis_setup_sauceconnect.php --if-env BEHAT_TEST --username ${SAUCE_USERNAME} --access-key ${SAUCE_ACCESS_KEY} --tunnel-identifier ${TRAVIS_JOB_NUMBER} --base-url http://localhost
|