All Projects → thoughtbot → report_card

thoughtbot / report_card

Licence: MIT license
metrics and CI are for A students.

Programming Languages

ruby
36898 projects - #4 most used programming language

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:

  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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].