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

47 lines
1.6 KiB
Markdown

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](http://docs.librenms.org/Developing/Code-Guidelines/)
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`.
2. 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`