QATracker is a tool to collect, store and render quality assurance indicators.
For example, you can run on your project some static code analysis tools like phploc or phpcpd then collect some metrics
throught exported files. This specific collected data are stored in an other file that you can push to your repository if you want.
You can view an example of a report here : Demo
You can view the requirements on packagist website : https://packagist.org/packages/alxvng/qatracker
- Install or replace the phar:
rm -f qatracker.phar && wget https://github.com/alxvgt/qa-tracker/raw/master/release/qatracker.phar
- (option) Install the default configuration file :
wget --directory-prefix=.qatracker https://github.com/alxvgt/qa-tracker/raw/master/.qatracker.dist/config.yaml
If you prefer more stable version, checkout the last stable release at https://github.com/alxvgt/qatracker/releases
How to run qatracker :
php qatracker.phar
For a first usage se recommend you those steps :
- Install QA tools :
php qatracker.phar install -n
- (option) Create or adapt the configuration to your project (paths, etc.) :
nano .qatracker/config.yaml
- Analyze, track then report your project :
php qatracker.phar history --step=XXX
- XXX is the number of days between each analysis based on your git history. It should be high (180+) if your project is old, low (7+) if your project is new.
You need to put your own configuration in order to build your own indicators and reports. The configuration is based on two objects :
- dataSerie : this object enables you to pick/fetch data in any file you want. Each run of qatracker run each dataSerie provider and store in a file the currated data.
- chart : this object associate a dataSerie to a chart in the final report
You can compose the main config.yaml
with others config files by using imports
directive.
The imported files are processed first then the content of config.yaml
imports:
- { resource: config-phploc.yaml }
Some informations about this tool are available here : Docs
You can contribute to this project by adding issue or pull request.