/moodle-plugin-ci

Assist with running a Moodle plugin in Travis CI

Primary LanguagePHPGNU General Public License v3.0GPL-3.0

Introduction

The goal of this project is to facilitate the running of tests and code analysis tools against a Moodle plugin in Travis CI.

Supported tests and code analysis tools:

Latest Stable Version Build Status Scrutinizer Code Quality Code Coverage Total Downloads License

Requirements

PHP 5.4 or later and Moodle 2.7 or later.

In addition, the plugin being tested must have a version.php file and $plugin->component must be defined within it.

Getting started

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

Step 1

Sign into Travis CI with your GitHub account. Once you’re signed in, and Travis CI will have synchronized your repositories from GitHub. Go to your 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

Copy the .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 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 page to see if your build passes or fails.

Documentation

Usage / Versioning

This project uses Semantic Versioning for its public API. The public API for this project is defined as the CLI interface of the 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 and the version will be bumped appropriately according to Semantic Versioning.

License

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