Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gracefully handle missing coveralls gem #184

Merged
merged 1 commit into from Sep 10, 2013
Merged

gracefully handle missing coveralls gem #184

merged 1 commit into from Sep 10, 2013

Conversation

ktdreyer
Copy link

@ktdreyer ktdreyer commented Sep 4, 2013

If we do not have coveralls installed, we should be able to continue with the rest of the test suite.

If we do not have coveralls installed, we should be able to continue
with the rest of the test suite.
@coveralls
Copy link

Coverage Status

Coverage remained the same when pulling d5e8fa2 on ktdreyer:coveralls into 5d5f035 on smartinez87:master.

@jweslley
Copy link
Collaborator

jweslley commented Sep 5, 2013

Before run the test suite, you must to run bundle install, which installs coveralls.

@jweslley jweslley closed this Sep 5, 2013
@ktdreyer
Copy link
Author

ktdreyer commented Sep 6, 2013

Hi jweslley,

In the ordinary development case, it would work to use bundle install and run the tests through bundler, which would load the coveralls gem. Since I'm packaging exception_notification for Fedora, I can't really use bundler in the RPM packaging.

Fedora has a general policy of "no bundled libraries". This means that all software that Fedora ships must use the single system versions of libraries. Unfortunately, in practice, bundler is pretty antithetical to using system-wide gems in a Linux distribution. For example, if all our RPMs used bundler, any time one of the Fedora developers bumped the version of a packaged gem, we would then have to rebuild all of the dependent packages in order to regenerate all the Gemfile.lock files. Not only would all the mass rebuilds require a lot of work, but this would also be brittle, since the user would need to ensure that all the gem RPMs get updated at the same time, or they would end up with a broken system. That also only applies to one vertical application; imagine many different Ruby applications on a system, and you can see how the problem would be compounded.

The Fedora developers have talked to Bundler upstream about adding some sort of "use system libraries" preference into Bundler, but there's been no solution so far. One of Bundler's top design goals is to enforce very precise versions of gem dependencies, and this is seen as basically at odds with Fedora's policies. Bundler works for gem development, but it doesn't fit well with Linux package managers. (In fact this is why Red Hat has developed bundler_ext).

I hope this helps to give some context for why I can't run bundler in this specific case.

Thank you very much for reading and considering this. Fedora also has a policy of "staying close to upstream", so I really welcome any feedback, criticism, or ideas that you have for solving this differently in exception_notification.

Could you please re-open this pull request?

@jweslley jweslley reopened this Sep 9, 2013
@coveralls
Copy link

Coverage Status

Coverage decreased (-0.81%) when pulling d5e8fa2 on ktdreyer:coveralls into 5d5f035 on smartinez87:master.

jweslley added a commit that referenced this pull request Sep 10, 2013
gracefully handle missing coveralls gem
@jweslley jweslley merged commit 5552076 into smartinez87:master Sep 10, 2013
@ktdreyer ktdreyer deleted the coveralls branch January 8, 2016 05:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants