librenms-librenms/doc/Developing/Validating-Code.md
Neil Lathwood 1ee2e8e0e0 Updated to use new theme for docs site (#9320)
* Updated to use new theme for docs site

* Updated theme location

* Removed librenms.css

* Updated index page + re-added librenms.css

* Use built in theme modification

* flexbox grid, dump bootstrap

* tidy up things

* Added path and updated deploy script + mkdocs config

* Removed db schmea changes

* Updated to install python/pip 3

* Removed pip3 install

* Pip3 install

* Updated deploy-docs

* Updated deploy-docs
2018-10-27 23:04:34 +01:00

1.6 KiB

source: Developing/Validating-Code.md path: blob/master/doc/

Validating Code

As part of the pull request process with GitHub we run some automated build tests to ensure that the code is error free, standards compliant and our test suite builds successfully.

Rather than submit a pull request and wait for the results, you can run these checks yourself to ensure a more seamless merge.

All of these commands should be run from within the librenms directory and can be run as the librenms user unless otherwise noted.

Install composer (you can skip this if composer is already installed).

curl -sS https://getcomposer.org/installer | php

Composer will now be installed into /opt/librenms/composer.phar.

Now install the dependencies we require:

./composer.phar install

Once composer is installed you can now run the code validation script:

./scripts/pre-commit.php

If you see Tests ok, submit away :) then all is well. If you see other output then it should contain what you need to resolve the issues and re-test.

Git Hooks

Git has a hook system which you can use to trigger checks at various stages. Utilising the pre-commit.php you can make this part of your commit process. You can do this in two ways:

  1. If you already make use of .git/hooks/pre-commit then you can add:

./scripts/pre-commit.php

to be excecuted when you run git commit.

  1. You can symlink the pre-commit.php file so it's executed directly on a git commit:

ln -s /opt/librenms/scripts/pre-commit.php /opt/librenms/.git/hooks/pre-commit