tchandy/octopus — pull request #183 by petergoldstein (2013-07-31 20:14:00+00:00)
Title: Fix broken Travis CI integration

The .travis.yml in the master branch is broken, and isn't running the tests that are specified.

Specifically, it's running the same version of Rails (~> 3.2.x) for all tests, and hence not testing compatibility with Rails 3.0.x and Rails 3.1.x. You can see this by examining the installed gems for any recent green test run on Travis - the installed Rails version is always 3.2.x. For example, here's a job that's supposed to be Rails 3.1.x - https://travis-ci.org/tchandy/octopus/jobs/9447335 . Rails 3.2.14 is being used instead.

This occurs for a couple of reasons:

1. The Appraisal gemfiles are explicitly excluded from the Git repo. So the gemfile settings don't resolve to real files, and bundler defaults to using Gemfile in the root

2. Some gemfile names in .travis.yml either don't exist (gemfiles/rails2.gemfile) or have a typo (gemfiles/rails3.gemfil e should be rails30.gemfile)

Once these issue were fixed, I discovered that the specs ONLY run green against Rails 3.2.x.

Rails 3.1.x - I was able to fix Rails 3.1.x by excluded :protocol_shard from the set of created databases in the Rakefile if Rails isn't a 3.2 version. Rails 3.1.x specs now run green.

Rails 3.0.x - Still running into intermittent spec failures on Rails 3.0.x. I'm hoping someone who is more knowledgable about Octopus internals than I am can take a look. On Travis this is showing up as a nil pointer, while locally I'm seeing failures in association build specs.

I fixed a few deprecation warnings and in the proces discovered that an existing spec was broken for all versions because of a typo in an expected error message. I made this spec pending. Again, someone with a better knowledge of Octopus than I should take a look at this.

Finally, I added Ruby 2.0 to the test matrix.