Integrating Faux Pas into your iOS Continuous Integration Workflow

Faux Pas is a OS X app that analyzes your source code for possible bugs and stylistic issues (among many, many other things). It also has a nifty command line tool that we wanted to integrate into our continuous integration process. Here's how we made it happen.

  1. Download Faux Pas on to your CI Server and launch it.
  2. In the menu bar, select Faux Pas, then Install CLI Tools...
  3. Add a new After-Integration Trigger to your XcodeBot.

Set up an After-Integration Trigger

From your existing XcodeBot, select Edit Bot… and press next until you arrive on the final screen. There, press Add Trigger then Run Script under “After Integration.”

Here's our script:

#!/bin/bash
cd "$XCS_SOURCE_DIR/<project_name>"
 
#This line only needs to be in the script for the first launch, so that the CLI tool will attribute the license to the XcodeServer user (_xcsbuildd)
#Other license types: personal, organization-seat, site, enterprise
/usr/local/bin/fauxpas updatelicense organization-seat "<license_name>" <license_key>
 
 
/usr/local/bin/fauxpas check <project_name>.xcodeproj --workspace <project_name>.xcworkspace --scheme <scheme_name> -b debug -t <target_name> -o json > /tmp/fauxpas_output.json

When the script is finished executing, you'll have a json formatted file listing all your diagnostic issues to do with what you please.

Filed under:

Add new comment

Restricted HTML

  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <cpp>, <java>, <php>. The supported tag styles are: <foo>, [foo].
  • Web page addresses and email addresses turn into links automatically.
  • Lines and paragraphs break automatically.

Ready for transformation?