Changes to Solano Ruby Dependency Analysis

One of Solano CI’s features is to automatically detect project dependencies such as mysql or postgres.  For a Ruby project, this functionality works by analyzing the Gemfile in the project’s repo.

We introduced Gemfile analysis originally in 2011, and the approach we took several years ago (which we’re calling v1) has recently shown a number of incompatibilities with bundler >=1.7.0. This has resulted in error builds and support issues that are tricky for our users to debug.

We are in the process of rolling out a new Ruby dependency analyzer – a.k.a. v2 – that should be much more stable and future-proof. However, with this tradeoff towards stability, we must phase out some automatic correction of common build issues (versions of gems that are incompatible with Solano’s ruby environment, gem requires that may conflict with each other).  Solano CI will continue to present warning messages about most common issues, but the new dependency analyzer will no longer attempt to fix them.

What’s the impact to you?

If your build relied on autodetected fixes from the v1 dependency analysis, you may see new failed tests with the new dependency analyzer that no longer installs them.

How will this change be rolled out?

If your build is encountering errors now, and you have an open support ticket, you’ll receive specific instructions on how to switch to v2.

New repos added to Solano CI after 4/2/2015 will automatically start with v2.

Any repos or branches configured to use bundler 1.7.0 and later will be automatically switched to v2.

All other repos will be switched over automatically on or after 6/1/2015.

The v1 dependency analyzer will be deactivated on 7/1/2015.

During the transition period, can I switch back to the old behavior?

Yes.  If you see test failures or build errors after your repo switch to the new dependency analyzer, you can switch back to the old one by adding a setting to your solano.yml:

Can I opt in before my repo is switched automatically?

Yes.  You can opt in by adding a setting to your solano.yml:

Don’t hesitate to contact us at with questions.


The Solano CI Team

Post a Comment