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. [DevOps &amp; Deployment](/categories/devops)
4. /
5. turnitin/moodle-plugin-ci

ActiveProject[DevOps &amp; Deployment](/categories/devops)

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 1mo ago

READMEChangelogDependenciesVersions (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

29

—

LowBetter than 60% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community12

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

3502d ago

### Community

---

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)")

### 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

[deployer/deployer

Deployment Tool

11.0k25.4M206](/packages/deployer-deployer)[appwrite/server-ce

End to end backend server for frontend and mobile apps.

55.3k84.2k](/packages/appwrite-server-ce)[pragmarx/health

Laravel Server &amp; App Health Monitor and Notifier

2.0k1.0M2](/packages/pragmarx-health)[felixfbecker/language-server-protocol

PHP classes for the Language Server Protocol

22476.7M6](/packages/felixfbecker-language-server-protocol)[heroku/heroku-buildpack-php

Toolkit for starting a PHP application locally, with or without foreman, using the same config for PHP and Apache2/Nginx as on Heroku

8161.3M10](/packages/heroku-heroku-buildpack-php)[tiamo/phpas2

PHPAS2 is a php-based implementation of the EDIINT AS2 standard

4674.7k](/packages/tiamo-phpas2)

PHPackages © 2026

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