I’m running a Rails app with Docker (Ubuntu 12.04). I’m using Cloudinary to serve images. Afaict I have Cloudinary configured correctly for my app. I am able to successfully render images locally, on staging, and in my production environments. I am using Rspec to test and have a few features specs that test end-to-end functionality. These feature specs run fine locally but fail on CircleCI when a spec renders a template that has markup that uses Cloudinary to pull in an image. The error reported from the failing specs are all the same:
ActionView::Template::Error: Must supply cloud_name in tag or in configuration
This suggests Cloudinary is not configured correctly, that it is unable to determine the cloud_name when evaluating an image tag, but I’m not sure why. I have verified that Project Settings’ Environment Variables contain the correct values for the variables the app expects when it initializes Cloudinary. I have also ssh’d into a failing build, run console, and verified that the app’s Cloudinary.config has the values I expect by running
Cloudinary.config
and looking at the output. It does in fact contain the correct value for
Cloudinary.config.cloud_name
I am trying to figure out why this Cloudinary configuration value is not known by the app when Rspec runs its tests on CircleCI, but is fine when running locally.