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.
No unreleased changes.
3.0.7 - 2021-02-25
- Updated project dependencies to current moodle-local_moodlecheck version.
- Switched to Composer v2.
3.0.6 - 2021-02-08
moodle-plugin-ci gruntshould also be using
3.0.5 - 2021-02-04
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 it
nvmcan’t be used for node version switching, see the step definition at gha.dist.yml and add missing
NVM_DIRline your plugin’s GHA workflow file.
moodle-plugin-ci add-plugincommand now uses default banch to checkout instead of
--branchparam is not specified..
3.0.4 - 2021-01-29
moodle-plugin-ci gruntnow only runs against the
yui/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.
moodle-plugin-ci phpunitwhen coverage report is included, phpdbg is called with ignore memory limits param to avoid memory exhaused 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.
- 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
- Updated version of moodle-local_codechecker to v2.9.8.
- Updated project dependencies (moodle-local_ci).
3.0.2 - 2020-09-11
- 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..).
3.0.1 - 2020-09-04
- Updated .travis.dist.yml to use Postgresql 9.6 (Moodle 3.10 new requirement).
- Updated composer.json to use the latest version of
- Updated project dependencies
moodle-plugin-ci gruntnow also checks
3.0.0 - 2020-07-23
- ACTION REQUIRED: project organization renamed to moodlehq. You must update your
- 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
moodlehq/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
- Updated .travis.dist.yml to build Moodle 3.9
moodle-plugin-ci installinstalls Node.js (npm) using the version specified in .nvmrc file or
lts/carbonif .nvmrc is missing (pre Moodle 3.5). It is also possible to override default version by providing –node-version parameter or defining
NODE_VERSIONenv variable. The value of this parameter should be compatible with
nvm installcommand, e.g.
lts/erbium. See #7
- Support for PHP 5.x (7.0.0 is now required).
2.5.0 - 2019-02-20
- Updated .travis.dist.yml to install
oracle-java8-set-defaultpackages. See #83 for details.
- Updated project dependencies: Moodle Code Checker v2.9.3 (added PHP 7.3 support)
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
- ACTION REQUIRED: project organization renamed to
blackboard-open-source. You must update your
- 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
sudo: truewhen using Behat. See #70 for details.
- Updated project dependencies. Most notably, Moodle Code Checker v2.7.1.
- 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
- ACTION REQUIRED: changed the
nvm install nodeto
nvm install 8.9and
nvm 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.
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.
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
moodle-plugin-ci validatenow properly validates all table name prefixes in the plugin’s
db/install.xmlfile. Before, if any table name was properly prefixed, this would pass.
2.1.0 - 2017-09-13
- 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.
moodle-plugin-ci mustachecommand when
_JAVA_OPTIONSenvironment variable is set. This is now set by default in Trusty builds.
- Can now use Chrome with Behat, see help document for details.
- Set password via environment when connecting with Postgres.
2.0.1 - 2017-06-07
- PHPUnit code coverage whitelist for Moodle 3.3 or later.
2.0.0 - 2017-06-01
- BREAKING: requires PHP 5.6 or later.
- BREAKING: requires Moodle 3.2 or later.
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.
.travis.dist.ymlnow installs Version 2 of this tool.
- Updated Moodle coding standard to v2.7.0.
- BREAKING: removed
moodle-plugin-ci csslintcommand. Replaced with
- BREAKING: removed
moodle-plugin-ci jshintcommand. Replaced with
- BREAKING: removed
moodle-plugin-ci shiftercommand. Replaced with
- The Composer self update step from
- 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.
behatcommand to print Behat HTML failure captures.
behatautomatically rerun failures, defaults to 2 reruns.
.travis.dist.ymlnow has steps to install Java 8.
.travis.dist.ymlnow has steps to install latest version of NodeJS and NPM.
.travis.dist.ymlnow has a step to cache the NPM cache.
.travis.dist.ymlnow has a step to install PostgreSQL 9.3.
1.5.8 - 2017-03-30
- PHP 5.6 issue with Behat.
1.5.7 - 2017-02-06
moodle-plugin-ci installwhen installing multiple plugins that have circular dependencies.
- Stalled Travis jobs when Behat is required.
- The validation of the
MOODLE_BRANCHvalue has been relaxed. Can be any branch or tag.
- 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
- Upgraded PHP_CodeSniffer to
- Updated Moodle coding standard with latest changes from
1.5.5 - 2016-07-05
moodle-plugin-ci validatecommand no longer requires
blockname:myaddinstancefor blocks because depending on allowed formats and block class overrides, they may not actually be required.
moodle-plugin-ci validatecommand now has more specific requirements for repository plugins.
1.5.4 - 2016-05-12
- Regression from 1.5.3 with ignore paths and names.
1.5.3 - 2016-05-11
- When installing plugins, now install in order based on
1.5.2 - 2016-04-07
- Inspection bugs and a bug introduced in 1.5.1.
1.5.1 - 2016-04-07
- Upgraded PHP_CodeSniffer to 2.6.0.
1.5.0 - 2016-04-01
moodle-plugin-ci add-plugincommand. Allows for installing plugin dependencies.
doc/AddExtraPlugins.mddocumentation on how to use the
doc/CodeCoverage.mddocumentation on how to generate code coverage for a plugin.
phpunitcommand to print text code coverage.
phpunitcommand to create a code coverage XML file.
moodle-plugin-ci coveralls-uploadcommand to upload code coverage to Coveralls.
- Behat command to be compatible with Behat 3 which is used in Moodle 3.1.
.travis.dist.ymlfile now uses the Composer
- PHPUnit installer now builds component configs.
- When the
phpunitcommand is run, it will prefer the component’s
1.4.1 - 2016-03-14
- Updated Moodle coding standard with latest changes.
1.4.0 - 2016-02-12
- 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
- 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
- PhantomJS support. No way to actually use it and Selenium can handle everything.
.travis.dist.ymlnow has the new
.travis.dist.ymlfile not longer allows PHP7 to fail.
.travis.dist.ymlfile now disables XDebug to improve build times.
.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.
- 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
- Pass host when connecting with MySQL and Postgres.
- Add quotes around database name for MySQL and Postgres.
- MySQL database collation from UTF8_bin to utf8_general_ci.
- Project dependencies have been updated for PHP7 support.
- Support for glob patterns for file paths in
1.1.0 - 2015-10-19
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.
- Commands no longer error when relevant files are not found.
1.0.0 - 2015-09-18
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 shiftercommand. Run YUI Shifter on plugin YUI modules.
moodle-plugin-ci csslintcommand. Lints the CSS files in the plugin.