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

WIP: Fix Build #19

Open
wants to merge 14 commits into
base: master
Choose a base branch
from
Open

Conversation

nickpellant
Copy link

Still working on this however I wanted a location to host discussion.

It appears that issues are being caused due to the lack of a Gemfile.lock, causing Travis to bundle based on the loose rules set out in the Gemfile with unexpected versions of gems. I'm locking down versions were appropriate to get the build green.

The config.color_enabled alias of config.color was removed in RSpec
3.0. As The Gemfile for this gem specifies RSpec to be greater than or
equal to 2.0 in version, now that RSpec 3.x is out it uses that version
instead of RSpec 2.0.
This conversion is done by Transpec 2.3.6 with the following command:
    transpec

* 51 conversions
    from: obj.should
      to: expect(obj).to

* 41 conversions
    from: == expected
      to: eq(expected)

* 6 conversions
    from: =~ /pattern/
      to: match(/pattern/)

For more details: https://github.com/yujinakayama/transpec#supported-conversions
It appears that the later versions of Faraday may not work with
Rubinius so I’m attempting to lock it back down to 0.9.0.rc1 in hopes
that this will resolve the build issues with RBX.
The rbx-1xmode method of specifying rubinius is no longer supported.

http://docs.travis-ci.com/user/languages/ruby/#Rubinius
I’m separating these two so that I may debug further the cause of the
exception in Rubinius.
@nickpellant
Copy link
Author

So there are currently two issues outstanding that I can see:

  1. Intermittent build failure because of RealWeb:
Failure/Error: Unable to find matching line from backtrace
     RealWeb::ServerUnreachable:
       Unable to reach RealWeb server after 2s: /home/travis/build/nickpellant/rack-client/spec/spec_config.ru.
       Boot RealWeb with {verbose: true} to print errrors.
  1. RBX language bug i.e.:
Failure/Error: expect(conn.put('echo', :name => 'zack').body).to eq(%(put {"name"=>"zack"}))
     NoMethodError:
       undefined method `name' on an instance of String.

I've spent as much time as I can now working to resolve this build so I'm going to need to hand it over. I think it's important to note that if we were to re-run the build for the last successful release it would also fail because the gem versions were not locked down and would now attempt to build against a different version of gems.

Unfortunately I don't have a project with a locked down Gemfile that uses a version of this gem when the build was green so I can't lock down to those versions. Do you @halorgium?

I think we would be well placed to merge these changes in and attempt to resolve the other two issues independently in new PRs, possibly disabling the Rubinius build until a later time.

Is there a hard requirement for this gem to support Rubinius?

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.

1 participant