DEPRECATED
Thoughtbot is no longer supporting this project. We haven’t used Integrity in a while, and report_card is deeply tied to it.
However, we still recommend metric_fu, which has only gotten more robust over the years. You may also want to check out the Hudson metric_fu plugin.
report_card
Automatic building and reporting to campfire of metrics with metric_fu through integrity.
Features
- Generates metric_fu sites for each project and ties them together on one page
- Notifies campfire of metric stats given that they have changed since the last run
Requirements
- integrity v0.1.10
- metric_fu
- tinder
- your favorite webserver
Usage
Run: rake grade
Note: It’s probably best to do this on a cron job.
If you’re running private projects, make sure to configure your webserver to block
others from looking at your results. If you’re using Apache to host your report_card
site, here’s what your VirtualHost could look like:
<VirtualHost *:80> ServerName metrics.thoughtbot.com DocumentRoot /home/ci/report_card/_site <DirectoryMatch /home\/ci\/report_card\/_site\/(archive|private|scores)> AuthName "Metrics" AuthUserFile /home/ci/.htpasswd AuthGroupFile /dev/null AuthType basic require valid-user </DirectoryMatch> </VirtualHost>
Setup
Have a config.yml
file in your report_card directory with the following info:
# This is the path to integrity's config.yml file. integrity_config: /home/ci/integrity/config.yml # Where you want the site to be placed that metric_fu creates site: /home/ci/report_card/_site # A regular expression for project names you wish to ignore # You need to surround this with quotes since YAML is picky ignore: '[^shoulda]|1\.9' # The location of your site, for campfire reporting url: http://metrics.thoughtbot.com # Set to true if you would like to skip notifying campfire when metrics have changed skip_notification: false
Testing
Run the test suite with rake
.
There’s a cucumber integration test that is run with cucumber
. This isn’t exactly fast since it:
- Sets up integrity
- Adds projects into integrity
- Clones them from github
- Builds the project’s tests
- Runs metric_fu on the project’s tests
- Generates the report_card site.
However, it should all pass and work. If not, open up an issue!
Thanks
To thoughtbot for supporting this project.