Continuous Integration

From OpenEMR Project Wiki
Revision as of 22:44, 16 July 2017 by Jason "Toolbox" Oettinger (talk | contribs) (Simplifying CI local execution explanations using the updated ci.sh)

When code is pushed your Github pull request, our Continuous Integration service will check for programmer errors from PHP v5.6 up to PHP v7.1. Make sure the service status is green and not red!

Running Locally

The following sections provide instruction for Linux/OSX/WSL users who may want to run the CI commands locally. Doing this will help you to make sure you'll pass CI checks before committing/pushing your code. For all of the following, replace <openemrRoot> with the root directory of the project on your machine.

Linting Check (All)

CI_JOB=lint_syntax ci/ci.php -d <openemrRoot>

Linting Check (One File)

php -l <file>

Styling Check (Checking your changed files)

This will check your staged files (files you've used git add on):

CI_JOB=lint_style_staged ci/ci.php -d <openemrRoot>

This will check a commit before you push it:

CI_JOB=lint_style_new_commit ci/ci.php -d <openemrRoot>

Styling Check (One File)

curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar
php phpcs.phar -pn --extensions=php,inc --standard=ci/phpcs_strict.xml --report=summary <file>

(Make sure you don't check in the phpcs.phar)