PHPackages                             turnitin/moodle-plugin-ci - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. turnitin/moodle-plugin-ci

ActiveProject[Testing &amp; Quality](/categories/testing)

turnitin/moodle-plugin-ci
=========================

Assists with running Moodle plugins in Travis CI

1.5.6(9y ago)049GPL-3.0PHPPHP &gt;=5.4.0

Since Sep 19Pushed 9y ago5 watchersCompare

[ Source](https://github.com/turnitin/moodle-plugin-ci)[ Packagist](https://packagist.org/packages/turnitin/moodle-plugin-ci)[ RSS](/packages/turnitin-moodle-plugin-ci/feed)WikiDiscussions master Synced 4w ago

READMEChangelogDependencies (18)Versions (19)Used By (0)

Introduction
============

[](#introduction)

The goal of this project is to facilitate the running of tests and code analysis tools against a Moodle plugin in [Travis CI](https://travis-ci.org).

Supported tests and code analysis tools:

- [PHPUnit](https://phpunit.de)
- [Behat](http://behat.org/)
- [Moodle Code Checker](https://github.com/moodlehq/moodle-local_codechecker)
- [PHP Linting](https://github.com/JakubOnderka/PHP-Parallel-Lint)
- [PHP Copy/Paste Detector](https://github.com/sebastianbergmann/phpcpd)
- [PHP Mess Detector](http://phpmd.org)
- [CSS Lint](https://github.com/CSSLint/csslint)
- [JSHint](http://www.jshint.com/)
- [Shifter](https://docs.moodle.org/dev/YUI/Shifter)

[![Latest Stable Version](https://camo.githubusercontent.com/602dcb2ff55ff3e0beb86d9603f9cc23bea2c4235405c8d904804a5d8f18d481/68747470733a2f2f706f7365722e707567782e6f72672f6d6f6f646c65726f6f6d732f6d6f6f646c652d706c7567696e2d63692f762f737461626c65)](https://packagist.org/packages/moodlerooms/moodle-plugin-ci)[![Build Status](https://camo.githubusercontent.com/5687e5eb24e35c58bd9f6bdee1529acc45f76424274cb8f80243a246f86c558e/68747470733a2f2f7472617669732d63692e6f72672f6d6f6f646c65726f6f6d732f6d6f6f646c652d706c7567696e2d63692e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/moodlerooms/moodle-plugin-ci)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/20c31b35780e38660f3d808d34e603bbca7ddfa352854684cf375ec2c83369c7/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6d6f6f646c65726f6f6d732f6d6f6f646c652d706c7567696e2d63692f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/moodlerooms/moodle-plugin-ci/?branch=master)[![Code Coverage](https://camo.githubusercontent.com/3029dcd45309c99d46faecbb54827674825ea19a23501c9ddf61fcef645d2d60/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6d6f6f646c65726f6f6d732f6d6f6f646c652d706c7567696e2d63692f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/moodlerooms/moodle-plugin-ci/?branch=master)[![Total Downloads](https://camo.githubusercontent.com/166a9f50f698269b3122f82dd10b1f669cedad271996ad4859878f6ece4d4cb2/68747470733a2f2f706f7365722e707567782e6f72672f6d6f6f646c65726f6f6d732f6d6f6f646c652d706c7567696e2d63692f646f776e6c6f616473)](https://packagist.org/packages/moodlerooms/moodle-plugin-ci)[![License](https://camo.githubusercontent.com/f90306fbe5c027b0be6a23bbfa935d2bdf396e7ee1e4d3e7595edda43fcfa6e0/68747470733a2f2f706f7365722e707567782e6f72672f6d6f6f646c65726f6f6d732f6d6f6f646c652d706c7567696e2d63692f6c6963656e7365)](https://packagist.org/packages/moodlerooms/moodle-plugin-ci)

Requirements
============

[](#requirements)

**PHP 5.4** or later and **Moodle 2.7** or later.

In addition, the plugin being tested must have a [version.php](https://docs.moodle.org/dev/version.php) file and `$plugin->component` must be defined within it.

Getting started
===============

[](#getting-started)

Follow these steps to get your Moodle plugin building in Travis CI.

Step 1
------

[](#step-1)

Sign into [Travis CI](https://travis-ci.org) with your GitHub account. Once you’re signed in, and Travis CI will have synchronized your repositories from GitHub. Go to your [profile](https://travis-ci.org/profile) page and enable Travis CI for the plugin you want to build. Now whenever your plugin receives an update or gets a new pull request, Travis CI will run a build to make sure nothing broke.

Step 2
------

[](#step-2)

Copy the [.travis.dist.yml](.travis.dist.yml) file into the root of your plugin and rename it to `.travis.yml`. Now might be a good time to review the `.travis.yml` contents and remove anything that is not needed. See this [help document](doc/TravisFileExplained.md) for an explanation about the contents of the this file. Once you have added the `.travis.yml` file, commit and push up to GitHub, to trigger a Travis CI build. Check the [build status](https://travis-ci.org/repositories) page to see if your build passes or fails.

Documentation
=============

[](#documentation)

- [Travis CI file explained](doc/TravisFileExplained.md)
- [Add extra Moodle configs](doc/AddExtraConfig.md)
- [Add extra plugins](doc/AddExtraPlugins.md)
- [Ignoring files](doc/IgnoringFiles.md)
- [Testing a plugin against PHP7](doc/PHP7.md)
- [Generating code coverage](doc/CodeCoverage.md)

Usage / Versioning
==================

[](#usage--versioning)

This project uses [Semantic Versioning](http://semver.org/) for its public API. The public API for this project is defined as the CLI interface of the [moodle-plugin-ci](bin/moodle-plugin-ci) script. *Everything* outside of this script is considered to be private API and is not guaranteed to follow Semantic Versioning.

The commands ran via the `moodle-plugin-ci` script by default take no arguments. It is recommended, if at all possible, to avoid using arguments to prevent problems with future versions. Rest assured though that if any arguments are modified, it will be in the [change log](CHANGELOG.md) and the version will be bumped appropriately according to Semantic Versioning.

License
=======

[](#license)

This project is licensed under the GNU GPL v3 or later. See the [LICENSE](LICENSE) file for details.

###  Health Score

30

—

LowBetter than 62% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor1

Top contributor holds 97.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~29 days

Recently: every ~45 days

Total

14

Last Release

3554d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/719745741695ce3108401f2945162efe592f43039b67e0e045cddc9a8f604e33?d=identicon)[dulldave](/maintainers/dulldave)

---

Top Contributors

[![polothy](https://avatars.githubusercontent.com/u/634657?v=4)](https://github.com/polothy "polothy (191 commits)")[![davecodes1](https://avatars.githubusercontent.com/u/2530184?v=4)](https://github.com/davecodes1 "davecodes1 (1 commits)")[![kenneth-hendricks](https://avatars.githubusercontent.com/u/17265456?v=4)](https://github.com/kenneth-hendricks "kenneth-hendricks (1 commits)")[![samchaffee](https://avatars.githubusercontent.com/u/634660?v=4)](https://github.com/samchaffee "samchaffee (1 commits)")[![tobias-g](https://avatars.githubusercontent.com/u/5928933?v=4)](https://github.com/tobias-g "tobias-g (1 commits)")

---

Tags

testingmoodletravisci

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/turnitin-moodle-plugin-ci/health.svg)

```
[![Health](https://phpackages.com/badges/turnitin-moodle-plugin-ci/health.svg)](https://phpackages.com/packages/turnitin-moodle-plugin-ci)
```

###  Alternatives

[tempest/framework

The PHP framework that gets out of your way.

2.2k31.1k12](/packages/tempest-framework)[infection/infection

Infection is a Mutation Testing framework for PHP. The mutation adequacy score can be used to measure the effectiveness of a test set in terms of its ability to detect faults.

2.2k28.9M2.2k](/packages/infection-infection)[laravel/framework

The Laravel Framework.

34.8k532.1M19.5k](/packages/laravel-framework)[drupal/core

Drupal is an open source content management platform powering millions of websites and applications.

19664.8M1.6k](/packages/drupal-core)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.4M196](/packages/sulu-sulu)[drupal/core-recommended

Locked core dependencies; require this project INSTEAD OF drupal/core.

6941.5M398](/packages/drupal-core-recommended)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
