When upgrading nodejs/npm versions, there are modifications to
different packages or to the format of the npm-shrinkwrap.json
file. Usually that leads to failed jobs untill the bundled file
is updated.
To avoid that, we just ignore the npm-shrinkwrap.json file, so
just the REAL modifications in css/js/ignore stuff are considered.
This change also add fail-on-risky to travis to help pick these up, and
verbosity too.
We only fail on risky during Travis and not during normal output because
developers may want to debug tests.
Switch back to GCE build infrastructure for Travis Builds and move
databases to RAM Disk.
This also adds a software entropy generator (haveged) which is
recommended when using a RAMdisk for the database.
Check npm install and grunt execution on the higest and lowest node
versions. Included some minor tweaks along the way:
* Move the grunt execution into scripts part of the configuration (that way
the grunt output is not collapsed and is easily visible in build output).
* Restructure the install section to be task based (thanks to Eloy for
the suggestion) and as such, don't run composer install on the grunt
task (speed up the build slightly).
* Switch around the grunt job to a matrix include so that every
variation of grunt job doesn't need to be excluded.
( https://docs.travis-ci.com/user/customizing-the-build/#Explicity-Including-Jobs )
At the moment the extensions aren't available in php7 env:
https://github.com/travis-ci/travis-ci/issues/5256
And really its probably not worth the effort/buildtime to
enable them IMO so simpler to just disable.
These were previously checking the release string for presence of the 'dev'
string. On friday we moved to beta, and will shortly move to RC.
We should be checking the version maturity instead.
This change switches to checking for MATURITY_STABLE in the maturity
string. If it is found, the branch behaviour follows the $branch version.
If it is not found, we use master.
This also adds a check to ensure that if the branch is not found, we exit
early instead of performing CI Tests over the entirety of Moodle.
The Travis-CI service currently over-notifies the upstream repository
owner which can mean that committers without access to a fork of the
repository are notified of failures, and success changes.
Until this issue is addressed, and we are happy with the stability of our
build, we have disabled notification support.
The Travis-CI service problem has been raised in
https://github.com/travis-ci/travis-ci/issues/4976
This commit adds support for community use of travis-ci.org and allows
developers to get free testing of their changes in multiple PHP
environments, and multiple database servers.
Use of this feature requires setup on travis-ci.org, and is not supported
by Moodle HQ.
Results supplied by travis-ci.org are for your convenience only, and tests
will still be applied separately by the HQ integration servers during
integration.