Skip to content
This project is no longer maintained - Criterion is a Continuous Integration app built in PHP using MongoDB. Criterion is very easy to setup, and you can add GIT repositories from any provider, and run any commands you wish against it.
PHP CSS JavaScript Other
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
app/Criterion
bin
public
tests/Criterion/Test
.criterion.yml
.gitignore
.travis.yml
LICENSE
README.md
composer.json
composer.lock
phpunit.xml.dist

README.md

Criterion

This project is no longer maintained

"A principle or standard by which something may be judged or decided"


Build Status Dependency Status Bitdeli Badge

Criterion is a Continuous Integration app built in PHP using MongoDB. Criterion is very easy to setup, and you can add GIT repositories from any provider, and run any commands you wish against it.

Criterion

Criterion will auto detect test environments if no .criterion.yml file is provided. This means you can setup CI with no changes to your code at all. For example, above we are testing a few libraries that have never even heard of Criterion, yet they still run.

Recommendations

Before using Criterion please read our recommendations here

Dependencies

  • PHP >=5.3.3
  • PHP Mongo Driver >= 1.3.0
  • MongoDB >= 2.2.0
  • Git >= 1.7.0

Installation

To install criterion you must use Composer

composer install && bin/cli install

Running Workers

bin/cli worker:start --debug --interval=20

Example criterion.yml

setup:
    - composer install --dev
script:
    - phpunit
fail:
    - sh log-fail.sh
pass:
    - sh deploy.sh

Github Service Hook

You can add a Github WebHook to automatically run the tests on your project when a commit is pushed. For example:

http://criterion.example.com/hook/github?token=example

You can even add this hook to your Github repositories, and Criterion will automatically create a project if you have not already done so.

These tokens can be generated by any user, but the user must be an admin to be able to run tests.

Limitations (Some of these may come in the future)

  • Multiple PHP Versions
  • Virtualization (A VM per Test)

Support

If you need a hand with anything then use one of the following methods:

Something went wrong with that request. Please try again.