MNT Travis shared config, use sminnee/phpunit

This commit is contained in:
Steve Boyd 2020-12-15 13:54:35 +13:00
parent 5920058287
commit 85e97a83ed
5 changed files with 21 additions and 64 deletions

View File

@ -1,56 +1,8 @@
language: php
version: ~> 1.0
dist: trusty
addons:
firefox: "31.0"
import:
- silverstripe/silverstripe-travis-shared:config/provision/standard-jobs-range-behat.yml
env:
global:
- COMPOSER_ROOT_VERSION=4.1.x-dev
- DISPLAY=":99"
- XVFBARGS=":99 -ac -screen 0 1024x768x16"
matrix:
include:
- php: 5.6
env: DB=MYSQL RECIPE_VERSION=4.2.x-dev PHPCS_TEST=1 PHPUNIT_TEST=1
- php: 7.0
env: DB=PGSQL RECIPE_VERSION=4.2.x-dev PHPUNIT_TEST=1
- php: 7.1
env: DB=MYSQL RECIPE_VERSION=4.2.x-dev PHPUNIT_COVERAGE_TEST=1
- php: 7.1
env: DB=MYSQL RECIPE_VERSION=4.2.x-dev BEHAT_TEST=1
- php: 7.2
env: DB=MYSQL RECIPE_VERSION=4.x-dev PHPUNIT_TEST=1
before_script:
# Init PHP
- phpenv rehash
- phpenv config-rm xdebug.ini
- echo 'memory_limit = 2G' >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini
# Install composer dependencies
- composer validate
- composer require --no-update silverstripe/recipe-cms:"$RECIPE_VERSION"
- if [[ $DB == PGSQL ]]; then composer require --no-update silverstripe/postgresql:2.1.x-dev; fi
- composer install --prefer-dist --no-interaction --no-progress --no-suggest --optimize-autoloader --verbose --profile
# Start behat services
- if [[ $BEHAT_TEST ]]; then echo 'SS_BASE_URL=http://localhost:8080/' >> .env; fi
- if [[ $BEHAT_TEST ]]; then mkdir artifacts; fi
- if [[ $BEHAT_TEST ]]; then sh -e /etc/init.d/xvfb start; sleep 3; fi
- if [[ $BEHAT_TEST ]]; then (vendor/bin/selenium-server-standalone > artifacts/selenium.log 2>&1 &); fi
- if [[ $BEHAT_TEST ]]; then (vendor/bin/serve --bootstrap-file vendor/silverstripe/cms/tests/behat/serve-bootstrap.php &> artifacts/serve.log &); fi
script:
- if [[ $PHPUNIT_TEST ]]; then vendor/bin/phpunit; fi
- if [[ $PHPUNIT_COVERAGE_TEST ]]; then phpdbg -qrr vendor/bin/phpunit --coverage-clover=coverage.xml; fi
- if [[ $PHPCS_TEST ]]; then vendor/bin/phpcs src/ tests/; fi
- if [[ $BEHAT_TEST ]]; then vendor/bin/behat @contentreview; fi
after_success:
- if [[ $PHPUNIT_COVERAGE_TEST ]]; then bash <(curl -s https://codecov.io/bash) -f coverage.xml; fi
after_failure:
- php ./framework/tests/behat/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/ --artifacts-path ./artifacts/
- BEHAT_SUITE="contentreview"

View File

@ -2,7 +2,7 @@ default:
suites:
contentreview:
paths:
- %paths.modules.contentreview%/tests/behat/features
- '%paths.modules.contentreview%/tests/behat/features'
contexts:
- SilverStripe\Framework\Tests\Behaviour\FeatureContext
- SilverStripe\Framework\Tests\Behaviour\CmsFormsContext
@ -13,15 +13,17 @@ default:
- SilverStripe\CMS\Tests\Behaviour\ThemeContext
- SilverStripe\CMS\Tests\Behaviour\FixtureContext:
# Note: double indent for args is intentional
- %paths.modules.contentreview%/tests/behat/features/files/
- '%paths.modules.contentreview%/tests/behat/features/files/'
extensions:
SilverStripe\BehatExtension\MinkExtension:
default_session: selenium2
javascript_session: selenium2
selenium2:
browser: firefox
default_session: facebook_web_driver
javascript_session: facebook_web_driver
facebook_web_driver:
browser: chrome
wd_host: "http://127.0.0.1:9515" #chromedriver port
browser_name: chrome
SilverStripe\BehatExtension\Extension:
screenshot_path: %paths.base%/artifacts/screenshots
screenshot_path: '%paths.base%/artifacts/screenshots'
bootstrap_file: "vendor/silverstripe/cms/tests/behat/serve-bootstrap.php"

View File

@ -27,7 +27,7 @@
"silverstripe/siteconfig": "^4.2"
},
"require-dev": {
"phpunit/phpunit": "^5.7",
"sminnee/phpunit": "^5.7",
"squizlabs/php_codesniffer": "^3",
"silverstripe/behat-extension": "^3",
"silverstripe/serve": "^2",

View File

@ -2,6 +2,9 @@
<ruleset name="SilverStripe">
<description>CodeSniffer ruleset for SilverStripe coding conventions.</description>
<file>src</file>
<file>tests</file>
<rule ref="PSR2" >
<!-- Current exclusions -->
<exclude name="PSR1.Methods.CamelCapsMethodName" />

View File

@ -13,9 +13,9 @@ Feature: Set up reviews
Scenario: I can set content review options
When I click on "Home" in the tree
And I click the "Settings" CMS tab
Then I should see a "Content Review" button
Then I should see a "Content review" button
When I click the "Content Review" CMS tab
When I click the "Content review" CMS tab
And I select "Custom settings" from "Options" input group
And I wait for 1 second
And I select "ADMIN group" from "Groups"
@ -26,7 +26,7 @@ Feature: Set up reviews
Scenario: I can enter a review in the modal
When I click on "Home" in the tree
And I click the "Settings" CMS tab
And I click the "Content Review" CMS tab
And I click the "Content review" CMS tab
And I select "Custom settings" from "Options" input group
And I wait for 1 seconds
And I select "ADMIN group" from "Groups"