Change log
All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
The format of this change log follows the advice given at Keep a CHANGELOG.
Unreleased
4.5.9 - 2025-10-10
Changed
- Updated project dependencies to current moodle-cs v3.6.0 and moodle-local_ci v1.1.3 releases.
- Bump workflows to Postgres 15, which is a requirement for Moodle 5.1
Fixed
- Fix json file missing error in moodle-plugin-ci.phar
4.5.8 - 2025-07-08
Changed
- Bump default Selenium version to 4.
Fixed
- Add support for public directory structure in 5.1 (MDL-83424).
Deprecated
- Using Travis CI has been deprecated in 4.5.8 and will be removed in 5.0.0. This includes removing configuration template and relevant documentation.
- ACTION SUGGESTED: Consider using GitHub Actions for plugin CI testing.
4.5.7 - 2025-03-26
Changed
- Allow to run with PHP 8.4 (supported in Moodle 5.0)
- Updated travis.yml and the recommendations to run travis with Postgres 14
Added
- New
--scss-deprecationsoption added to thebehatcommand
4.5.6 - 2025-01-31
Fixed
- Removed the PHPUnit –verbose option to comply with Moodle 5.0
- Fix getComponentInstallDirectory plugintypes retrieval issue to comply with 5.0
Changed
- Updated project dependencies to current PHP and Moodle versions.
- ACTION SUGGESTED: bump workflows to postgres 14, which is a requirement for Moodle 5.0
4.5.5 - 2024-11-06
Added
- Improvements to plugin validation implementation:
getRequiredFunctionCallsin plugin type specificRequirementsclass can be used to validate that file contains function call.FileTokens::notFoundHintcan be used to give some context for validation error to improve developer experience.
Fixed
- Fixed stylelinting error in non-theme plugins containing scss.
- Updated filter plugin validation requirements to comply with Moodle 4.5
Removed
- Stylelint less component task (
grunt stylelint:less) has been deprecated in Moodle 3.7.
4.5.4 - 2024-08-23
Changed
- Fixed nvm loading issue caused by upstream regression.
4.5.3 - 2024-07-05
Added
- Support for version 4.4 of the app, that uses new defaults and Chrome (Selenium 4) version.
Changed
- Updated project dependencies to current moodle-cs v3.4.10 and moodle-local_ci v1.0.31 releases.
4.5.2 - 2024-06-19
Changed
- Updated project dependencies to current moodle-cs v3.4.9 release.
4.5.1 - 2024-06-14
Changed
- Updated project dependencies to current moodle-cs v3.4.8 release.
Fixed
- Fixed a problem with the
gruntcommand running thestylelinttasks against the whole Moodle directory (including both core and other optional plugins installed). Now only the plugin being checked is effectively analysed.
4.5.0 - 2024-06-03
Changed
- Updated project dependencies to current moodle-cs v3.4.7 and moodle-local_ci v1.0.30 releases.
- Internal, various improvements to self testing.
Deprecated
- The use of
phpdbgto calculate PHPUnit’s code-coverage has been deprecated in thismoodle-plugin-cirelease (4.5.0) and will be removed in 5.0.0. This includes both the implicit (default) option when no alternative (pcovorxdebug) is available and the explicit--coverage-phpdbgoption. - ACTION SUGGESTED: In order to avoid deprecation warnings or annotations, proceed to ensure that either
pcov(Moodle 3.10 and up) orxdebugare available and they will be used automatically. Note that any use ofphpdbgwill throw an error in the next major release (5.0.0).
Fixed
- Solved a problem with the validation of
dataformatplugin lang strings. - Fixed a problem with the
phpcscommand returning with success when some (configuration, installation, …) problem was causing it not to be executed at all.
4.4.5 - 2024-04-03
Changed
- Additional release for error in release process
4.4.4 - 2024-04-03
Changed
- Updated project dependencies to current moodle-cs v3.4.6 release.
4.4.3 - 2024-03-31
Changed
- Updated project dependencies to current moodle-cs v3.4.5 release.
4.4.2 - 2024-03-30
Added
- Added GHA step to store Behat fail-dumps as workflow artefacts, so it can be inspected. Documentation has been updated as well to reflect the purpose of the step.
- Added support for the
--license-regexoption to thephpcscommand. When specified, all the PHPDoc license tags (@license) are inspected to ensure that they contain some text matching the regular expression (a license type:/GNU GPL v3 or later/, … or any other valid alternative).
Changed
- Updated project dependencies to current moodle-cs v3.4.4, moodle-local_moodlecheck v1.3.2 and moodle-local_ci v1.0.29 releases.
- Updated self CI dependencies to current PHP and Moodle versions.
- For pull requests, set the Assignee automatically (to the author of the PR).
Removed
- The documentation about the
phpcpdcommand (deprecated and to be removed in 5.0.0) has been deleted from all the templates and docs.
4.4.1 - 2024-03-08
Added
- New
--no-plugin-nodeoption added to theinstallcommand, to be able to skip the installation of any NodeJS stuff that the plugin may include. The previous default has not changed and both Moodle’s and plugin’s NodeJS installation continues happening normally.
Changed
- Updated project dependencies to current moodle-cs v3.4.1, moodle-local_moodlecheck v1.3.0 and moodle-local_ci v1.0.28 releases.
Fixed
- Some small fixes to documentation.
4.4.0 - 2024-02-16
Added
- New
--seleniumoption orMOODLE_BEHAT_SELENIUM_IMAGEenv variable to thebehatcommand, to be able to specify the Selenium Docker image to use (defaults apply if not specified). - New
MOODLE_BEHAT_CHROME_CAPABILITIESandMOODLE_BEHAT_FIREFOX_CAPABILITIESenv variables to configure additional browser capabilities (they will be needed - internally - soon, to allow the command to perform some special behat runs). - Extend own CI tests to cover:
- PHP 8.3 (all tests).
selfupdatePHAR command (unit and integration tests).
Changed
- Updated all uses of
actions/checkoutfromv3(using node 16) tov4(using node 20), because actions using node 16 are deprecated and will stop working in the future. - ACTION SUGGESTED: In order to avoid the node 16 deprecation warnings, update your workflows to use
actions/checkout@v4. Note: the same may apply to other actions being used in your workflows (check your latest runs). - Updated project dependencies to current moodle-cs.
Deprecated
- The
phpcpdcommand (that uses the PHP Copy/Paste Detector, now abandoned) has been deprecated in thismoodle-plugin-cirelease (4.4.0) and will be removed in 5.0.0. No replacement is planned. - ACTION SUGGESTED: In order to avoid deprecation warnings or annotations, proceed to remove this command from your workflows. Note that any use will throw an error in the next major release (5.0.0).
- The
masterbranch of Moodle upstream repositories has been moved tomainand will stop working soon (see MDLSITE-7418 for details). GitHub workflows will start emitting warnings/annotations when uses of themasterbranch are detected. - ACTION SUGGESTED: In order to avoid deprecation warnings or annotations, proceed to replace
masterbymainin your workflows. Note that any use of the former (to be removed) will throw an error in the future.
4.3.2 - 2024-01-26
Changed
- Modified internal CI scripts towards better Codecov future support.
- Updated project dependencies to current moodle-cs.
4.3.1 - 2024-01-19
Added
- Added support for the
--todo-comment-regexoption to thephpcscommand. When specified, all the todo comments (TODOand@todo) are inspected to ensure that they contain some text matching the regular expression (a tracker issue key:MDL-[0-9]+, a link to GitHub:github.com/moodle/moodle/pull/[0-9]+, … or any other valid alternative).
Changed
- Updated project dependencies to current moodle-cs and moodle-local_ci versions.
4.3.0 - 2023-12-19
Added
- Added Moodle App Behat testing support.
- Added support for the
--excludeoption to thephpcscommand.
Changed
- Updated project dependencies to current moodle-cs and moodle-local_ci versions.
4.2.0 - 2023-11-30
Added
- Added support for the
--tagsand--nameoptions to thebehatcommand. - Added support for the
--configure,--testsuiteand--filteroptions to thephpunitcommand.
Changed
- The default branch of this repository has been renamed from
mastertomain. You can visit this issue (#258) for more information about the potential actions required (if you use this, or clones/forks of this, repository). - ACTION SUGGESTED: If you are using GitHub Actions, it’s recomended to use
!cancelled()instead ofalways()for moodle-plugin-ci tests. Adding a final step that always returns failure when the workflow is cancelled will ensure that cancelled workflows are not marked as successful. For a working example, please reference the updatedgha.dist.ymlfile. -
ACTION SUGGESTED: For some (unknown) reason, Travis environments with PHP 8.2 have started to fail with error:
php: error while loading shared libraries: libonig.so.5To avoid that problem, it’s recommended to to add the
libonig5package to thetravis.ymlfile. For a working example, please reference the updated.travis.dist.ymlfile. - Updated project dependencies to current moodle-cs and moodle-local_moodlecheck versions.
4.1.8 - 2023-10-20
Changed
- Updated project dependencies to current moodle-cs version.
Added
- Added back the
selfupdatecommand, that enables easy updates of the PHAR package. Note this is experimental and may show some warnings with PHP 8.x.
4.1.7 - 2023-10-11
Changed
- Updated project dependencies to current moodle-local_ci version.
Added
- Added some docs regarding the
moodle-plugin-ciuse in local dev environments.
Fixed
- Fixed the
phpcmdcommand for compatibility with versions^2.14.0.
4.1.6 - 2023-09-28
Changed
- Updated project dependencies to current moodle-cs and moodle-local_ci versions.
Fixed
- Updated the
.gitattributesfile towards better packaging and distribution.
4.1.5 - 2023-09-22
Changed
- Updated project dependencies to current moodle-cs version.
4.1.4 - 2023-09-22
Added
- Covered the PHAR package with some new integration tests.
Changed
- Reduced the number of own CI tests (internal change) executed with Travis.
- Updated project dependencies to current moodle-cs and moodle-local_ci versions.
Fixed
- Solved various problems related with the execution of checks from PHAR:
- Fixed the
.envsupport. - Fixed the
mustachecommand execution. - Fixed the
phpcsandphpcbfcommands execution. - Fixed the
phpdoccommand to use the bundledcoreapis.txtfile.
- Fixed the
4.1.3 - 2023-09-08
Changed
- Updated project dependencies to current moodle-cs, moodle-local_moodlecheck and moodle-local_ci versions. Also, to various internal / development tools.
Fixed
- Updated the PHAR packaging utility (box) to actual one, to avoid various issues happening with PHP 8.1 and up.
4.1.2 - 2023-09-02
Changed
- Modified
moodle-local_cicomposer dependencies and manage them normally, removing some ancient bits that have stopped working with Composer 2.6.0 and up. - Updated project dependencies to current moodle-local_ci version.
4.1.1 - 2023-07-14
Added
- Add support for the following optional env variables, that will be used on installation, getting precedence over the corresponding existing option:
DB_USER: To specify the database username (alternative to--db-user)DB_PASS: To specify the database password (alternative to--db-pass)DB_NAME: To specify the database name (alternative to--db-name)DB_HOST: To specify the database host (alternative to--db-host)DB_PORT: To specify the database port (alternative to--db-port)
Note that these new env variables behave exactly the same than the existing (and often used)
DBone, that is also a priority alternative to--db-typeon install.
Changed
- Updated project dependencies to current moodle-local_moodlecheck and moodle-local_ci versions.
4.1.0 - 2023-05-29
Added
- Add the
--testdoxoption to thephpunitcommand. - Add the
--max-warningsoption to thephpdoccommand, so it behaves the same than thephpcscommand. Note that this modifies current behaviour (see next point) and plugins with only warnings won’t be failing any more. - ACTION SUGGESTED: In order to keep the previous behaviour, it’s recommended to use the new
--max-warnings 0(or any other number) option to specify the warnings threshold.
Changed
- Updated project dependencies to current moodle-cs, moodle-local_moodlecheck and moodle-local_ci versions. Also, to various internal / development tools.
Fixed
- Fix problems in the documentation causing coding snippets to display partially.
4.0.0 - 2023-05-03
Added
- Upgrade guide: Upgrading from 3.x to 4.0
- Support for PHP 8.1 and up.
Changed
- Lots of internals upgraded:
- Symfony 5.4.
- PHPUnit 9.x.
- Code coverage reporting.
- Psalm level 2 compliance.
- PSR-12 compliance.
- Small changes to documentation towards prioritise GitHub Actions over Travis CI.
- In addition to the internal and doc changes above, this initial 4.x release has 100% feature-parity with current 3.x series, setting the base for further improvements and new features. No changes are expected in general, other than in order to meet the new requirements.
Removed
- Support for PHP < 7.4 (the new minimum version).
- Support for Moodle < 3.8.3, that was the first release officially supporting PHP 7.4.
3.4.12 - 2023-05-03
Changed
- Small changes to documentation towards prioritise GitHub Actions over Travis CI.
3.4.11 - 2023-03-22
Changed
- Plugin bundled
phpunit.xmlfiles are not overwritten or modified ever. - For Moodle 3.9 and up, when the plugin is missing any
tests/coverage.phpfile, core defaults (lib.php,locallib.php,classes/, …) will be applied. Previously, all the*.phpfiles were applied by default (note that older Moodle versions will continue getting them).
3.4.10 - 2023-03-14
Changed
- Various improvements to the Travis & GHA dist files and documentation.
- Updated project dependencies to current moodle-cs version.
3.4.9 - 2023-03-08
Added
- Improved release process: Now every version changelog (this file) is automatically added to the release notes.
- New
--test-versionoption added to thephpcs(codechecker) command in order to specify the PHP version(x.y)or range of PHP versions(x.y-w.z)to be checked by thePHPCompatibilitystandard (part of themoodlestandard).
3.4.8 - 2023-03-06
Changed
- Modified the Travis templates and docs to point that, since MDL-75012 (core update to Node 18), Ubuntu Focal 20.04 is the minimum required by runs.
- ACTION REQUIRED: Review any Travis configuration for 39_STABLE and up. Now they require Ubuntu 20.04 (focal) to be specified.
- The
codecheckercommand has been renamed tophpcs, to better match other command names. The old name remains as alias, so no change is required.
3.4.7 - 2023-03-04
Changed
- Updated project dependencies to current moodle-local_moodlecheck version.
- Fix self-tests to pass with new introduced checks and Node 18.
3.4.6 - 2023-02-08
Changed
- Updated project dependencies to current moodle-local_ci version.
3.4.5 - 2023-01-23
Changed
- Updated project dependencies to current moodle-local_moodlecheck and moodle-local_ci versions.
Fixed
- Updated to
php-coveralls/php-coverallsv2 for uploading coverage results to Coveralls with thecoveralls-uploadcommand. - ACTION REQUIRED: Review any use of the
coveralls-uploadcommand in GHA and ensure thatCOVERALLS_REPO_TOKENis set in the environment. See Coveralls integration for more information.
3.4.4 - 2023-01-20
Changed
- Updated to
php-compatibilitydev version. This was needed because the last release is from 2019 and, until a new release is available, it was the only way to get it working with PHP 8.1 and above and some good new Sniffs incorporated.
3.4.3 - 2022-12-24
Changed
- Updated gha.dist.yml and .travis.dist.yml (and documentation) to fulfil Moodle 4.2 new requirements.
- ACTION REQUIRED: Review existing integrations running tests against main (4.2dev). There are a few Moodle 4.2 new requirements:
- PHP 8.0 is required (instead of 7.4).
- PostgreSQL 13 is required (instead of 12).
- MariaDB 10.6 is required (instead of 10.4).
- MySQL 8 is required (instead of 5.7).
3.4.2 - 2022-10-18
Changed
- Internal improvements to the release process.
- Updated project dependencies to current moodle-local_moodlecheck and moodle-local_ci versions.
- Updated all uses of
actions/checkoutfromv2(using node 12) tov3(using node 16), because actions using node 12 are deprecated and will stop working in the future. - ACTION SUGGESTED: In order to avoid the node 12 deprecation warnings, update your workflows to use
actions/checkout@v3.
3.4.1 - 2022-09-21
Changed
- Updated all GHA scripts, templates and guides to use Ubuntu 22.04 (jammy). This change is not required yet, but integrations using old versions (Ubuntu 16.04, 18.04…) may face problems in the future because they are being deprecated.
- Updated project dependencies to current moodle-local_moodlecheck and moodle-local_ci versions.
3.4.0 - 2022-07-27
Added
moodle-plugin-ci installnow provides an option--db-portto define a custom database port.
Changed
- Updated gha.dist.yml and .travis.dist.yml (and documentation) to fulfil Moodle 4.1 new requirements.
- ACTION REQUIRED: Review existing integrations running tests against main (4.1dev). There are a few Moodle 4.1 new requirements:
- PHP 7.4 is required (instead of 7.3).
- PostgreSQL 12 is required (instead of 10). Pay special attention to the changes needed for this and Travis!
- MariaDB 10.4 is required (instead of 10.2.29).
- Oracle 19 is required (instead of 11.2).
- Updated project dependencies to current moodle-local_moodlecheck and moodle-local_ci versions.
3.3.0 - 2022-06-28
Added
- PHPUnit code coverage will now automatically fallback between
pcov=>xdebug=>phpdbg, using the “best” one available in the system. Still, if needed to, any of them can be forced, given all their requirements are fulfilled, using the following new options of the ‘phpunit’ command:--coverage-pcov,--coverage-xdebugor--coverage-phpdbg. - ACTION SUGGESTED: Ensure that the
pcovorxdebugextensions are installed in your environment to get ‘moodle-plugin-ci’ using them automatically.
Changed
- Switched from local_codechecker to moodle-cs for checking the coding style. Previously,
moodle-plugin-ci(and other tools) requiredlocal_codechecker(that includes bothPHP_Codesnifferand themoodlestandard) to verify the coding style. Now, themoodlestandard has been moved to be a standalone repository and all the tools will be using it and installingPHP_Codesniffervia composer. No changes in behavior are expected.
Fixed
- The
--versionoption now works both with thebin/moodle-plugin-cibinary and themoodle-plugin-ci.pharpackage.
3.2.6 - 2022-05-10
Added
- It is possible to specify more test execution options to the ‘phpunit’ command, such as
--fail-on-incomplete,--fail-on-riskyand--fail-on-skippedand--fail-on-warning. For more information, see PHPUnit documentation.
Fixed
- Locally bundled moodle-local_codechecker now works ok with recent (Moodle 3.11 and up) branches. A recent change in those versions was causing some problems.
3.2.5 - 2022-03-31
Changed
- ACTION SUGGESTED: Now, it’s safe to ‘unpin’ the MariaDB version in all integrations. With MariaDB 10.6.7 and 10.7.3 already released, the existing problems are gone, so it’s possible to move away from the older 10.5 version. To achieve that, just look for any use of
image: mariadb:10.5and change it toimage: mariadb:10. For more information, see MDL-72131. - Updated version of moodle-local_codechecker to v3.1.0. For list of changes see changelog, you should expect numerous
@coversannotation warnings in particular.
Added
- Use utf8mb4 for MySQL and MariaDB setup.
- ACTION SUGGESTED: If you are using GitHub Actions and running tests on MySQL/MariaDB, set env variables
MYSQL_CHARACTER_SET_SERVERandMYSQL_COLLATION_SERVERfor mysql/mariadb service pergha.dist.ymlfile.
3.2.4 - 2022-01-17
Changed
- Updated version of moodle-local_codechecker to v3.0.6.
3.2.3 - 2022-01-12
Changed
- Updated version of moodle-local_codechecker to v3.0.5.
Fixed
- Avoid publishing the selenium container port, not needed for
hostnetworking.
3.2.2 - 2021-12-16
Added
- Support for subplugins in the extra-plugins directory for install.
- Support for
coverage.phpfiles added. Previous coverage defaults only will be applied when that file is not present in the plugin.
Changed
- Updated project dependencies to current moodle-local_moodlecheck and moodle-local_ci versions.
- Updated version of moodle-local_codechecker to v3.0.4.
- Both Chrome and Firefox are back to use latest Selenium 3 versions, previously pinned because of some interim problems with them.
- GitHub no longer supports the git:// protocol. Please change any use to
https://instead. - Internal, various improvements to self testing.
3.2.1 - 2021-07-30
Changed
- Temporary pin Selenium standalone-chrome image to 3.141.59-20210713
3.2.0 - 2021-07-16
Added
- New tool-agnostic
CI_BUILD_DIRenv. variable that can be used instead of the oldTRAVIS_BUILD_DIRone. Note that support for the later will be removed at some point in the future.
Changed
- Updated gha.dist.yml and .travis.dist.yml to use PostgreSQL 10 (Moodle 4.0 new requirement).
- ACTION REQUIRED: Existing integrations running tests with PostgreSQL now need to use version 10 or newer.
- ACTION REQUIRED: Existing integrations running tests with MariaDB must avoid using the 10.6 version and use 10.5 instead. It comes with some changes making it incompatible with Moodle default installation. To achieve that, just look for any use of
image: mariadb:10and change it toimage: mariadb:10.5. This is being tracked @ MDL-72131 and, once fixed, it will be possible to go back to the original image. - Updated project dependencies to current moodle-local_moodlecheck and moodle-local_ci versions.
- Updated version of moodle-local_codechecker to v3.0.2.
- Improved documentation and examples about how to ignore paths and files.
3.1.0 - 2021-05-14
Added
- Support for PHP 8.0 jobs.
- ACTION REQUIRED: Small modifications are required to both Travis and GHA integrations,
only if adding PHP 8 jobs. These changes include 1) Setting up the
max_input_vars=5000PHP configuration setting, for all runs, and 2) Enabling thexmlrpc-betaextension if the plugin requires xmlrpc services, only for PHP 8 runs. See gha.dist.yml and .travis.dist.yml for more information.
Changed
- Updated various internal dependencies and tools.
- Moved moodle-local_moodlecheck and moodle-local_ci dependencies to use tagged references instead of commit ones.
3.0.8 - 2021-04-23
Changed
- Updated project dependencies to current moodle-local_moodlecheck and moodle-local_ci versions.
- Updated version of moodle-local_codechecker to v3.0.1.
3.0.7 - 2021-02-25
Changed
- Updated project dependencies to current moodle-local_moodlecheck version.
- Switched to Composer v2.
3.0.6 - 2021-02-08
Fixed
moodle-plugin-ci gruntshould also be usingnpx gruntinternally
3.0.5 - 2021-02-04
Fixed
nvmavailability check to make it work correctly in GHA- ACTION REQUIRED: If you are using GitHub Actions, add
NVM_DIRdefinition in “Initialise moodle-plugin-ci” step. Without itnvmcan’t be used for node version switching, see the step definition at gha.dist.yml and add missingNVM_DIRline your plugin’s GHA workflow file.
Changed
moodle-plugin-ci add-plugincommand now uses default banch to checkout instead ofmainif--branchparam is not specified..
3.0.4 - 2021-01-29
Fixed
moodle-plugin-ci gruntnow only runs against theyui/srcdirectory when configuring the YUI task. This resolves an issue where an “Unable to find local grunt” message was reported when code was structured in a legacy format. See #46 for more details.
Changed
moodle-plugin-ci phpunitwhen coverage report is included, phpdbg is called with ignore memory limits param to avoid memory exhausted errors.- Updated project dependencies to current moodle-local_moodlecheck and moodle-local_ci versions.
- Updated version of moodle-local_codechecker to v3.0.0.
- Install grunt locally and use
npx gruntto run it instead of installing it globally.
Added
- Detect existence of legacy php-webdriver, and use a different Firefox image when it is in use.
- Add manual and example on using GitHub Actions as CI tool.
3.0.3 - 2020-10-16
Changed
- Updated version of moodle-local_codechecker to v2.9.8.
- Updated project dependencies (moodle-local_ci).
3.0.2 - 2020-09-11
Added
- Skip HTML validation in mustache templates adding a
.mustachelintignorestandard ignores file to the plugin. Useful for templates containing specific syntax not being valid HTML (Ionic..).
Changed
- Updated project dependencies to current moodle-local_moodlecheck and moodle-local_ci versions.
3.0.1 - 2020-09-04
Changed
- Updated .travis.dist.yml to use Postgresql 9.6 (Moodle 3.10 new requirement).
- Updated composer.json to use the latest version of
local_moodlecheckplugin. - Updated project dependencies
Fixed
moodle-plugin-ci gruntnow also checks*.js.mapfiles.
3.0.0 - 2020-07-23
Changed
- ACTION REQUIRED: project organization renamed to moodlehq. You must update your
.travis.ymlto usemoodlehq/moodle-plugin-ci - ACTION REQUIRED: If you initiated Selenium server in docker container as part of your test scenario (e.g. separate step in install stage similar to one outlined in workaround blackboard-open-source/issue#110), this is no longer required, you can remove this step.
- ACTION REQUIRED: You may safely remove
nvm install <version>and `nvm use` from .travis.yml, this is now a part of installation routine. - Updated .travis.dist.yml with a new
servicessection to ensure databases start. - Updated .travis.dist.yml to remove
openjdk-8-jre-headlessand updatedmoodlehq/moodle-local_cito fix Mustache linting. See moodle-local_ci/pull#198. moodle-plugin-ci behatis using Selenium docker container for built-in Selenium server.- Updated version of
moodlehq/moodle-local_codecheckerto v2.9.7 - Updated .travis.dist.yml to build Moodle 3.9
moodle-plugin-ci installinstalls Node.js (npm) using the version specified in .nvmrc file orlts/carbonif .nvmrc is missing (pre Moodle 3.5). It is also possible to override default version by providing –node-version parameter or definingNODE_VERSIONenv variable. The value of this parameter should be compatible withnvm installcommand, e.g.v8.9,8.9.0,lts/erbium. See #7
Added
- New help document: CLI commands and options
- Upgrade guide: Upgrading from 2.x to 3.0
Removed
- Support for PHP 5.x (7.0.0 is now required).
2.5.0 - 2019-02-20
Changed
- Updated .travis.dist.yml to install
openjdk-8-jre-headlessinstead oforacle-java8-installerandoracle-java8-set-defaultpackages. See #83 for details. - Updated project dependencies: Moodle Code Checker v2.9.3 (added PHP 7.3 support)
Added
- Add
moodle-plugin-ci phpdoccheck which executes moodlehq/moodle-local_moodlecheck on the plugin. moodle-plugin-ci behatnow provides an option--suiteto define the theme to use while running the test.
2.4.0 - 2018-09-11
Changed
- ACTION REQUIRED: project organization renamed to
blackboard-open-source. You must update your.travis.ymlto useblackboard-open-source/moodle-plugin-ci - Updated .travis.dist.yml to build Moodle 3.5: removed PHP 5.6 and upgrade to Postgresql 9.4.
- Updated project dependencies.
2.3.0 - 2018-05-14
Changed
- Recommending
sudo: truewhen using Behat. See #70 for details. - Updated project dependencies. Most notably, Moodle Code Checker v2.7.1.
Added
- Support for MariaDB. To use, set
DB=mariadbin your build. In additon, see database setup documentation for how to add MariaDB to your build.
2.2.0 - 2017-11-03
Changed
- ACTION REQUIRED: changed the
nvm install nodetonvm install 8.9andnvm use 8.9in the .travis.dist.yml and you must update your.travis.ymlfile to get Grunt commands running again. These commands match what the Moodle project is currently using.
Fixed
moodle-plugin-ci validatenow only regards required language strings as present if they are assigned to the$stringarray. Before, other array variables were accepted although Moodle would not recognise them.
Added
moodle-plugin-ci installnow provides an option--no-initto skip initialization of the Behat and PHPUnit test suites. Only use this option if execution of these tests are not required.
2.1.1 - 2017-09-29
Fixed
moodle-plugin-ci validatenow properly validates all table name prefixes in the plugin’sdb/install.xmlfile. Before, if any table name was properly prefixed, this would pass.
2.1.0 - 2017-09-13
Fixed
- ACTION REQUIRED: added
firefox: "47.0.1"to .travis.dist.yml and you must add it to your.travis.ymlfile to get Behat running again. This is because Travis CI changed their default environment from Precise to Trusy. On Trusty, the default Firefox version is 55, which is not compatible with Selenium. - Fixed
moodle-plugin-ci mustachecommand when_JAVA_OPTIONSenvironment variable is set. This is now set by default in Trusty builds.
Added
- Can now use Chrome with Behat, see help document for details.
Changed
- Set password via environment when connecting with Postgres.
2.0.1 - 2017-06-07
Fixed
- PHPUnit code coverage whitelist for Moodle 3.3 or later.
2.0.0 - 2017-06-01
Changed
- BREAKING: requires PHP 5.6 or later.
- BREAKING: requires Moodle 3.2 or later.
moodle-plugin-ci codecheckercommand no longer processes Javascript files. Use the newgruntcommand instead.moodle-plugin-ci codecheckernow runs the PHP Compatibility coding standard. This will now check for PHP compatibility issues for the currently running PHP version. This makes it important to run this command on your lowest and highest supported PHP version. EG: on PHP 5.6 and 7.1.moodle-plugin-ci validatecommand now validates tags in Behat feature files. EG: mod_forum should have @mod and @mod_forum tags in each feature file.- The
.travis.dist.ymlnow installs Version 2 of this tool. - Updated Moodle coding standard to v2.7.0.
Removed
- BREAKING: removed
moodle-plugin-ci csslintcommand. Replaced withgruntcommand. - BREAKING: removed
moodle-plugin-ci jshintcommand. Replaced withgruntcommand. - BREAKING: removed
moodle-plugin-ci shiftercommand. Replaced withgruntcommand. - The Composer self update step from
.travis.dist.yml.
Added
- Defining ignore files per command, see help document for details.
moodle-plugin-ci mustachecommand which lints your Mustache template files.moodle-plugin-ci gruntcommand which runs Grunt tasks on the plugin. See help document for more details about the command.moodle-plugin-ci savepointscommand which checks your plugin’s upgrade steps.--dumpoption tobehatcommand to print Behat HTML failure captures.--auto-rerunoption tobehatautomatically rerun failures, defaults to 2 reruns.- The
.travis.dist.ymlnow has steps to install Java 8. - The
.travis.dist.ymlnow has steps to install latest version of NodeJS and NPM. - The
.travis.dist.ymlnow has a step to cache the NPM cache. - The
.travis.dist.ymlnow has a step to install PostgreSQL 9.3.
1.5.8 - 2017-03-30
Fixed
- PHP 5.6 issue with Behat.
1.5.7 - 2017-02-06
Fixed
moodle-plugin-ci installwhen installing multiple plugins that have circular dependencies.- Stalled Travis jobs when Behat is required.
Changed
- The validation of the
MOODLE_BRANCHvalue has been relaxed. Can be any branch or tag.
Added
- Can use
MOODLE_REPOenvironment variable to override Moodle’s git clone URL. This is considered more of an advanced or debugging feature and should not need to be used often.
1.5.6 - 2016-10-06
Changed
- Upgraded PHP_CodeSniffer to
2.6.2. - Updated Moodle coding standard with latest changes from
v2.5.4.
1.5.5 - 2016-07-05
Fixed
moodle-plugin-ci validatecommand no longer requiresblockname:addinstanceandblockname:myaddinstancefor blocks because depending on allowed formats and block class overrides, they may not actually be required.
Changed
moodle-plugin-ci validatecommand now has more specific requirements for repository plugins.
1.5.4 - 2016-05-12
Fixed
- Regression from 1.5.3 with ignore paths and names.
1.5.3 - 2016-05-11
Fixed
- When installing plugins, now install in order based on
$plugin->dependenciesdefinitions. - Ignore
amd/builddirectory.
1.5.2 - 2016-04-07
Fixed
- Inspection bugs and a bug introduced in 1.5.1.
1.5.1 - 2016-04-07
Changed
- Upgraded PHP_CodeSniffer to 2.6.0.
1.5.0 - 2016-04-01
Added
moodle-plugin-ci add-plugincommand. Allows for installing plugin dependencies.doc/AddExtraPlugins.mddocumentation on how to use theadd-plugincommand.doc/CodeCoverage.mddocumentation on how to generate code coverage for a plugin.--coverage-textoption tophpunitcommand to print text code coverage.--coverage-cloveroption tophpunitcommand to create a code coverage XML file.moodle-plugin-ci coveralls-uploadcommand to upload code coverage to Coveralls.
Fixed
- Behat command to be compatible with Behat 3 which is used in Moodle 3.1.
- The
.travis.dist.ymlfile now uses the Composer--prefer-distoption. - PHPUnit installer now builds component configs.
- When the
phpunitcommand is run, it will prefer the component’sphpunit.xmlconfiguration.
1.4.1 - 2016-03-14
Changed
- Updated Moodle coding standard with latest changes.
1.4.0 - 2016-02-12
Changed
- Updated Moodle coding standard with latest changes. This fully supports PHP_CodeSniffer 2+ so some new sniff failures might appear as they were silently hidden before. Also includes fixes and improvements.
- Upgraded PHP_CodeSniffer to 2.5.1 to be in alignment with code checker.
1.3.1 - 2016-01-28
Fixed
- Downgraded PHP_CodeSniffer to 2.5.0 from 2.5.1 to fix PHP Notices with the Moodle sniffs.
1.3.0 - 2016-01-28
Removed
- PhantomJS support. No way to actually use it and Selenium can handle everything.
Changed
- The
.travis.dist.ymlnow has the newmoodle-plugin-ci validatecommand. - The
.travis.dist.ymlfile not longer allows PHP7 to fail. - The
.travis.dist.ymlfile now disables XDebug to improve build times. - The
.travis.dist.ymlfile now defaults to Moodle 3 stable which supports PHP7. Older versions of Moodle do not support PHP7, so take this into account when you update your YAML file. - Project dependencies have been updated.
Added
- Testing a plugin against PHP7 help document.
moodle-plugin-ci validatecommand. Does some light validation of plugin file structure and code. Validation can be plugin specific.moodle-plugin-ci parallelcommand. Runs all the commands at once. This command is not supposed to be used on Travis CI, but rather locally, to save programmer fingers.
1.2.0 - 2015-12-31
Fixed
- Pass host when connecting with MySQL and Postgres.
- Add quotes around database name for MySQL and Postgres.
Changed
- MySQL database collation from UTF8_bin to utf8_general_ci.
- Project dependencies have been updated for PHP7 support.
Added
- Support for glob patterns for file paths in
thirdpartylibs.xmlfiles.
1.1.0 - 2015-10-19
Added
moodle-plugin-ci phpcbfcommand. Re-formats code according to Moodle coding standards. This command is not supposed to be used on Travis CI, but rather locally to fix coding style problems.
Changed
- Commands no longer error when relevant files are not found.
1.0.0 - 2015-09-18
Added
moodle-plugin-ci installcommand. This does all of the setup for testing.moodle-plugin-ci add-configcommand. Adds extra configs to Moodle’s config file.moodle-plugin-ci behatcommand. Runs plugin Behat features.moodle-plugin-ci phpunitcommand. Runs plugin PHPUnit tests.moodle-plugin-ci phplintcommand. Lints PHP files in the plugin.moodle-plugin-ci codecheckercommand. Run Moodle Code Checker on the plugin.moodle-plugin-ci phpcpdcommand. Run PHP Copy/Paste Detector on the plugin.moodle-plugin-ci phpmdcommand. Run PHP Mess Detector on the plugin.moodle-plugin-ci jshintcommand. Run JSHint on the Javascript files in the plugin.moodle-plugin-ci shiftercommand. Run YUI Shifter on plugin YUI modules.moodle-plugin-ci csslintcommand. Lints the CSS files in the plugin.