public
Description: metrics and CI are for A students.
Homepage: http://metrics.thoughtbot.com
Clone URL: git://github.com/thoughtbot/report_card.git
name age message
file .gitignore Mon Jul 20 14:37:31 -0700 2009 Ignoring integrity too [qrush]
file LICENSE Wed Jul 22 12:46:39 -0700 2009 Fixing license file and removing jeweler for now [qrush]
file README.textile Wed Jul 22 12:38:24 -0700 2009 Adding some info on the test suite [qrush]
file Rakefile Wed Jul 22 12:46:39 -0700 2009 Fixing license file and removing jeweler for now [qrush]
file cucumber.yml Wed Jul 22 12:34:47 -0700 2009 Adding cucumber.yml since we're not using rake ... [qrush]
directory features/ Wed Jul 22 11:13:48 -0700 2009 Running the integration test through cucumber s... [qrush]
directory lib/ Sun Jul 12 20:22:53 -0700 2009 Let's not do that. [qrush]
directory template/ Mon Jul 13 04:57:36 -0700 2009 Making project links relative and advertising a... [qrush]
directory test/ Wed Jul 22 11:13:48 -0700 2009 Running the integration test through cucumber s... [qrush]
README.textile

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:

  1. Sets up integrity
  2. Adds projects into integrity
  3. Clones them from github
  4. Builds the project’s tests
  5. Runs metric_fu on the project’s tests
  6. 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.