Expertiza Continuous Integration

From Expertiza_Wiki
Jump to navigation Jump to search

The build status for the Expertiza project is tracked by the [Travis Continuous Integration] tool. You can see the current status of the project using the [Expertiza Travis Dashboard]

Continuous Integration

Travis CI automatically builds the Expertiza project to make sure that no failures are introduced into the existing test suites after new code is committed. As of April 18th, 2013, the Travis CI configuration for Expertiza only builds and checks the cucumber test suite for failures on the master and production branches.

Benefits

  • Notifies the Expertiza Support List of test failures or changes in a build (previously failing tests passing after a build).
  • Build status indicator on the Expertiza [Github readme].
  • Pass/Fail indicator on pull requests and a link to a Travis summary specific to that build request.

  • Allows Expertiza contributors to determine whether a pull request is admissible before merging the code
  • Allows Expertiza contributors to catch a build failure and roll back a commit.

Travis CI Build Configuration

The [configuration documentation] for Travis is very extensive but there are some things to note in regards to Expertiza. Configuration changes are done by modifying the [.travis.yml] configuration file in the root of the repository and committing to the master and/or production branch.

  • Additional branches can be included in build inspections by adding their names to the list under branches
  • Email notifications can be modified by including additional recipients or changing the [frequency of notifications]
  • To include rspec tests into the build inspection, we must add the following line of code in the script block

- "export DISPLAY=:99.0 && bundle exec rspec spec/"

  • A specific cucumber formatter for Travis exists and it can be modified by editing the travis profile in [cucumber.yml]