Commit Graph

145 Commits

Author SHA1 Message Date
Damian Mooyman
267d7ebfc4
Temporarily restrict php-webdriver to 1.4.3
Add composer.lock to artifacts
See https://github.com/instaclick/php-webdriver/pull/79
2017-06-30 12:35:01 +12:00
Damian Mooyman
0200e2b62a
BUG Fix travis artifacts paths 2017-06-30 10:05:20 +12:00
Sam Minnee
07913e6df6 MINOR: Drop dual MYSQL/PGSQL builds for PHP7
We can get away with testing MySQL on PHP 5.6
and PHP 7.1 and testing PGSQL on PHP 7.0. We don’t
need a full matrix.
2017-06-28 16:57:20 +12:00
Sam Minnee
1fa712e189 MINOR: More PHP7 in travis builds
PHP7 is faster than PHP5.6 so we should use it for as many builds
as possible.

This leaves 1 build - the coverage build - running on PHP5.6
and puts the rest on PHP7.
2017-06-28 16:51:41 +12:00
Damian Mooyman
e945ea64b5 Temporarily switch to composer 1.5 2017-05-23 13:50:35 +12:00
Damian Mooyman
942c0257b7 API Upgrade to behat 3 2017-05-05 14:32:07 +12:00
Damian Mooyman
f2768c85b1 API Enable namespaced-localisation keys in templates
BUG Fix whitespaces in SSTemplateParser.peg
2017-04-11 18:07:53 +12:00
Damian Mooyman
6cfeb7f07e
Update test configuration
Note: Retains CMS build
2017-04-05 10:15:48 +12:00
Ingo Schommer
d1c4f7fcf4 Add campaign-admin to CMS_TEST=1 on travis
We want to remove this implicit dependency (through cms)
by fully decoupling campaign-admin (https://github.com/silverstripe/silverstripe-campaign-admin/issues/1),
but for now this is required.
2017-03-29 08:43:04 +13:00
Damian Mooyman
ac3a9c9e6e API Split out SilverStripe\ORM\Versioned into new module 2017-03-27 11:03:39 +13:00
Daniel Hensby
bcb9a99e54
increase memory in a hope to get code coverage working 2017-03-24 17:05:53 +13:00
Damian Mooyman
dae6d5902f API Split SilverStripe\Assets into separate module 2017-03-21 11:12:51 +13:00
Ingo Schommer
cb5b7537dc Remove composer self-update, handled by Travis now 2017-03-20 10:34:43 +13:00
Ingo Schommer
6e58408806 Drop PHP 5.5 support, limit PHP 5.6 to 2018
Fixes #6705
2017-03-20 10:34:24 +13:00
Damian Mooyman
66b1c72d4a
Fix dev CI builds
Move silverstripe/config release responsibility to installer
Remove admin artifacts in composer.json
2017-03-16 16:08:30 +13:00
Ingo Schommer
1222231da9 Removed NPM-based travis tests 2017-03-15 11:10:04 +13:00
Damian Mooyman
9f953770f5 API Move CMSPreviewable to framework module
Remove or soft-link dependency on admin module
2017-03-14 10:22:45 +13:00
Damian Mooyman
ca9979100f
Work around yarn travis issue
See https://github.com/yarnpkg/yarn/issues/2629
2017-03-10 13:51:04 +13:00
Christopher Joe
f2fb805331 update travis setup 2017-03-10 11:40:48 +13:00
Daniel Hensby
b0e5d426e5 Run code coverage upload after success (#6609) 2017-02-15 11:05:32 +13:00
Daniel Hensby
13c32fed66
CI Check dist files are correctly built 2017-01-30 20:26:27 +00:00
Robbie Averill
088d4ff222 Add PHP 7.1 to Travis configuration. Switch 7.0 to test only, 7.1 to coverage 2016-12-29 22:59:16 +13:00
Damian Mooyman
fae0055544 BUG Fix missing TRAVIS_NODE_VERSION (#6419)
Fixes #6418
2016-12-19 16:07:02 +13:00
Daniel Hensby
ba39e552a2
Merge branch '3' 2016-12-15 12:20:29 +00:00
Daniel Hensby
6af1e5bf0d
Move travis env vars out of .travis.yml and into travis CI dashboard 2016-12-06 22:29:13 +00:00
Daniel Hensby
c6d43b477e
Merge branch '3' 2016-11-29 13:27:49 +00:00
Damian Mooyman
97d0fc61d8
API Include psr-2 checks in CI 2016-11-29 13:00:58 +13:00
Daniel Hensby
bcc21c2403
Merge branch '3' 2016-11-10 01:09:35 +00:00
Sam Minnee
135a64761f FIX: Ensure that builds use the 3.4 dependencies.
This fix does it in a way that doesn’t need manual maintenance
per-branch
2016-11-03 14:56:51 +13:00
Damian Mooyman
4ee78fc29d BUG Restore travis artifacts (#6277)
Fixes #6046
2016-11-03 12:17:15 +13:00
Damian Mooyman
d7cb38434e
Create separate cms-config.yml for cms behat tests within framework 2016-11-02 10:54:09 +13:00
Damian Mooyman
81087ce15c BUG restore CMS build as required in framework tests 2016-11-01 17:31:35 +13:00
Sam Minnee
213cf8841b NEW: Test webpack build as part of NPM test run.
FIX: Ensure that “npm run build” failures report an error code.
2016-11-01 16:35:40 +13:00
Damian Mooyman
e386c6a153 FIX: Refactor bootstrap.php to allow for code sharing with cms bootstrap 2016-10-28 10:53:11 +13:00
Sam Minnee
c47a1d9091 NEW: Simplified test runs.
We don’t use SQLite in production and so it doesn’t need to be part of
our build matrix.
2016-10-26 16:16:35 +13:00
Sam Minnee
015411307d FIX: Require php7 support. 2016-10-26 15:38:19 +13:00
Ingo Schommer
0c06c4d389 Fast-finish Travis builds
The PHP7 build includes code coverage, which makes it run a bit longer now.
In general, we shouldn't wait for allowed_failures with build feedback.
Travis seems to run builds (roughly) in order, so allowed_failures
tend to prolong build times, since it only runs a few builds concurrently.

We'll move the PHP7 build out of allowed_failures eventually,
but I think the general concept still applies:
There's little value in waiting around for allowed_failures builds.

See https://blog.travis-ci.com/2013-11-27-fast-finishing-builds/
2016-09-27 09:19:41 +13:00
Ingo Schommer
345b4d56e6 Code coverage via CodeCov on PHP7 builds
PHP7+phpdbg is waaaay faster: http://blog.remirepo.net/post/2015/11/09/PHPUnit-code-coverage-benchmark
2016-09-26 22:33:03 +13:00
Damian Mooyman
9062680ccc Restore CMS build to CI 2016-09-22 08:31:56 +12:00
Sam Minnee
3ea23ce2b7 FIX: Make PR builds work.
PR builds are consistently failing because the version of framework
being used cannot be inferred. This environment variable provides the
answer.

It will need to be fixed for each major release, but I think that’s
less maintenance burden than complicating the build script to read this
from composer.json:extra.branch-alias.dev-master.
2016-09-21 09:26:29 +12:00
Sam Minnee
b19475d748 NEW: Ignore npm-shrinkwrap for greenskeeper-provided PRs. 2016-09-18 14:52:00 +12:00
Sam Minnee
c2ebff5c19 NEW: Use sass-lint over scss-lint
SCSS linting now uses the node-based sass-lint tool, since we’re
shifting away from CodeClimate.

This has the benefit of not requiring a ruby gem on dev tools -
everything is provided as npm dev dependencies.

This was also necessary to run the linting inside travis.
2016-09-18 14:50:27 +12:00
Sam Minnee
f700d86557 NEW: Run JS/CSS linting in Travis.
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.
2016-09-18 14:49:08 +12:00
Sam Minnee
07396e4437 NEW: Move Travis behat test to run locally.
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.
2016-09-17 15:40:37 +12:00
Sam Minnee
9dd5ebee8c NEW: Don’t set up SilverStripe project for test run
The SilverStripe project structure complicates the travis test run, and
the goal of this branch is to prevent it from being necessary.

 - Unit tests can be run simply with PHPUnit.
 - Behat test can be run with the silverstripe/serve module

Note that initially this commit doesn’t cater to the behat tests.

As part of this, we allow dev packages to be installed when testing

These settings don’t affect projects that use framework, only when
framework’s composer install / require calls are used themselves.

Since SS4 is pre-stable, these are important. They can probably be
removed once SS4 stable (and stable versions of support packages) have
been released.
2016-09-16 16:16:44 +12:00
Ingo Schommer
556667c4ea Removed unused "npm run sanity"
We're no longer copying JS sources around,
hence there's no need for this task.
2016-09-16 13:46:11 +12:00
Damian Mooyman
af5a539c9a Re-enable travis artifacts on framework (#5807) 2016-07-14 14:53:21 +12:00
Ingo Schommer
6aa9dbdb0e Added NPM tests
Also simplified logic branching by introducing $PHPUNIT_TEST.
2016-05-04 20:29:18 +12:00
Damian Mooyman
4bc04e795a Excuse php7 errors due to regressions in 7.0.6 2016-05-04 16:33:40 +12:00
Damian Mooyman
d52db0ba34 Merge 3 into master
# Conflicts:
#	.travis.yml
#	admin/css/ie7.css
#	admin/css/ie7.css.map
#	admin/css/ie8.css.map
#	admin/css/screen.css
#	admin/css/screen.css.map
#	admin/javascript/LeftAndMain.js
#	admin/scss/_style.scss
#	admin/scss/_uitheme.scss
#	control/HTTPRequest.php
#	core/Object.php
#	css/AssetUploadField.css
#	css/AssetUploadField.css.map
#	css/ConfirmedPasswordField.css.map
#	css/Form.css.map
#	css/GridField.css.map
#	css/TreeDropdownField.css.map
#	css/UploadField.css
#	css/UploadField.css.map
#	css/debug.css.map
#	dev/Debug.php
#	docs/en/00_Getting_Started/00_Server_Requirements.md
#	docs/en/02_Developer_Guides/06_Testing/00_Unit_Testing.md
#	docs/en/02_Developer_Guides/06_Testing/index.md
#	docs/en/02_Developer_Guides/14_Files/02_Images.md
#	docs/en/02_Developer_Guides/15_Customising_the_Admin_Interface/How_Tos/Extend_CMS_Interface.md
#	filesystem/File.php
#	filesystem/Folder.php
#	filesystem/GD.php
#	filesystem/Upload.php
#	forms/ToggleField.php
#	forms/Validator.php
#	javascript/lang/en_GB.js
#	javascript/lang/fr.js
#	javascript/lang/src/en.js
#	javascript/lang/src/fr.js
#	model/Image.php
#	model/UnsavedRelationList.php
#	model/Versioned.php
#	model/connect/MySQLDatabase.php
#	model/fieldtypes/DBField.php
#	model/fieldtypes/Enum.php
#	scss/AssetUploadField.scss
#	scss/UploadField.scss
#	templates/email/ChangePasswordEmail.ss
#	templates/forms/DropdownField.ss
#	tests/behat/features/bootstrap/SilverStripe/Framework/Test/Behaviour/CmsFormsContext.php
#	tests/behat/features/bootstrap/SilverStripe/Framework/Test/Behaviour/CmsUiContext.php
#	tests/forms/EnumFieldTest.php
#	tests/security/MemberTest.php
#	tests/security/MemberTest.yml
#	tests/security/SecurityTest.php
2016-04-29 17:50:55 +12:00