This is only randomly affecting to Moodle 4.2 with PostgreSQL 13
that, for some reason, returns the control to the script before
some files (.pid) have been deleted as part of the database
shutdown.
It seems that adding 1 second of sleep it's enough to workaround
that problem (there are examples of that in various Travis discussions).
So we are adding here 2 seconds, to ensure we are in the safe side
towards consistent passes. And we are applying the same strategy
also to the MySQL installation, just to keep them 100% parallel.
Basically, we only need to change:
- PHP 8.0
- MySQL 8.0
- PostgreSQL 13
Also, remove any php-xmlrpc installation because they aren't
needed since Moodle 4.1.
Finally, ensure that we aren't using mysql bin logs ever, because
they are huge and can make the 1Gb tmpfs to become full. This is
specifically needed for MySQL 8.0, because it comes with bin logs
enabled by default.
We have forked the mysql-action to achieve that:
https://github.com/moodlehq/mysql-action
Worth blaming travis because, after PG 11 and 12 using port 5433,
now they are back (in PG 13) to port 5432. Surely there is some
logic behind the undocumented ping-pong but...
Basically, we only need to change:
- PHP 7.4
- PostgreSQL 12
Also, moving up to focal as dev environment, removing NVM_VERSION
because nvm automatically detects .nvmrc and switching to
socketed connection for PostgreSQL (little improvements).
In MDL-73915 the nodejs version was switched to lts/gallium but the
travis integration was not updated.
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
Also adds xmlrpc-beta from PECL (PHP8 moved the extension there)
and setups max_input_vars=5000 as initial value (see MDL-71390).
Note that this also includes a tiny modification when configuring
redis sessions, because there was some outdated code from old issue,
now fixed (MDL-60978), so that info has been removed.
By default only lowest php version will be executed, and only pgsql.
This default behavior can be changed with a new variable:
MOODLE_PHP = [all]
MOODLE_DATABASE = [pgsql | mysqli | all]
This commit performs a number of changes:
- Enables PHP 7.3, replacing PHP 7.2 (max/min approach).
- Enables back the redis service
- Configures redis cache store tests to be run.
- Disables redis session tests for PHP 7.2 and up (MDL-60978)
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.