mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-06-30 00:19:25 +02:00
The ‘npm run lint’ command will be used to run listing on Travis, which can also be used on local dev environments. These can also be used with editor plugins to highlight errors immediately. The intention is that this can be used in place of codeclimate. The benefits are that we use a single toolchain in both CI and local dev, which is not entirely the case at the moment. Note the sass-lint is provided by “sudo gem install scss_lint”. It’s possible that we can move to a node-based sass-lint; I can’t recall what the motivation for using the scss_lint gem was - I think it was mainly that we had the AirBNB styleguide already implemented as a linter config.
78 lines
3.7 KiB
YAML
78 lines
3.7 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 && gem install scss_lint; 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"
|
|
- "if [ \"$NPM_TEST\" = \"1\" ]; then npm run lint; 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
|