Local development

A Makefile is available to perform project-related operations:

  • Documentation - generate a local HTML copy of the GitHub wiki
  • Static analysis - check that the code is compliant to PHP conventions
  • Unit tests - ensure there are no regressions introduced by new commits

Automatic builds

Travis CI is a Continuous Integration build server, that runs a build:

  • each time a commit is merged to the mainline (master branch)
  • each time a Pull Request is submitted or updated

A build is composed of several jobs: one for each supported PHP version (see Server requirements).

Each build job:

  • updates Composer
  • installs 3rd-party test dependencies with Composer
  • runs Unit tests
  • runs ESLint check

After all jobs have finished, Travis returns the results to GitHub:

  • a status icon represents the result for the master branch:
  • Pull Requests are updated with the Travis result
    • Green: all tests have passed
    • Red: some tests failed
    • Orange: tests are pending