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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix CI build for Ruby 2.1 and 2.2 #56

Merged
merged 8 commits into from Aug 28, 2019

Conversation

sfgeorge
Copy link
Member

@sfgeorge sfgeorge commented Aug 12, 2019

Fix CI build

  1. Main issue: Our manual gem install bundler tries to install Bundler 2.x on all Rubies, including those < 2.3, which is a no-go:

image

Solution is to just simply omit gem install bundler, and just let travis do the work of deciding which version of bundler to install.

  1. drop use of sudo: true/false, as that's deprecated.

  2. Switch to dist: trusty to get slightly closer to successfully running with rbx / Rubinius. Unfortunately, I couldn't get ffi to natively compile under Rubinius and I'm not quite sure why. 馃槥

  3. Use versions of Ruby 2.3 and 2.4 that come pre-installed on Travis' Xenial build.

  4. Begin testing Ruby 2.5 and 2.6.

@sfgeorge
Copy link
Member Author

@lpradovera @gfaza Can you review this for me sirs?

.travis.yml Outdated
@@ -1,9 +1,12 @@
dist: trusty
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It appears this distribution applies to all versions of Ruby being tested? Trusty reached End Of Life on April 30th, 2019. I don't think it makes sense to continue testing on this. If the justification is to support older Ruby versions, then maybe we need to drop support for those instead. I don't see a lot of value in continuing to support old versions of Ruby going forward. Anyone on an older Ruby can use a similarly older version of Ruby Speech.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bklang That's a good point. I know that we tout Rubinius compatibility, but I haven't seen it be practical to use Rubinius with a recent version of a Travis image, unfortunately.

Using dist: trusty got us a little further in the right direction (the only image that successfully rvm-installs "rbx-3" and "rbx-4"), but it would still choke on trying to natively compile extensions for ffi. Since trusty still can't effectively get us to a place where it actually runs the builds for rbx, then it doesn't provide any value.

So yeah, we should probably use something more recent and leave rbx in "allow_failures" for the time being.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We always wanted to support Rubinius, but I've never heard of anyone actually using it. Even in CI, Rubinius has always been marked to allow_failures. I definitely would not consider it a platform with full support. It's a nice-to-have.

@@ -14,13 +17,11 @@ matrix:
allow_failures:
- rvm: rbx-3
- rvm: ruby-head
sudo: false
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This used to be necessary to make use of newer Travis infrastructure (iirc, without this, the test would run on a VM). Is that no longer the case?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bklang Yes, it looks like it's now deprecated. I was going off of this info from https://docs.travis-ci.com/user/reference/overview/#deprecated-virtualization-environments :

If you鈥檙e trying to use sudo: false or dist: precise keys in your travis.yml, we recommend you switch to our current Xenial Linux infrastructure.

I've already seen in bef35c1 that the build works great on Xenial (apart from Rubinius, which was already broken). Should we just go with Xenial?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

馃憤 for Xenial

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bklang Thank you sir! Ready for re-reviewski :monocle:

Side note: Why is there no monocle emoji? 馃槥

Copy link
Member

@bklang bklang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

馃帺
^ closest thing to a monocle

馃殺

@sfgeorge
Copy link
Member Author

^ Says the most qualified gentleman on the subject of top hats! 馃憣

Dig it! 馃帀

@coveralls
Copy link

coveralls commented Aug 14, 2019

Coverage Status

Coverage increased (+0.1%) to 99.199% when pulling 6746f87 on sfgeorge:fix-ci-for-older-rubies into 3e75302 on adhearsion:develop.

- gem install bundler
env:
global:
- JRUBY_OPTS='--debug'
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bklang FYI I think adding JRUBY_OPTS='--debug' on this particular PR was needed in order to prevent Coveralls from reporting that coverage was dropping.

@sfgeorge sfgeorge merged commit d1f4f25 into adhearsion:develop Aug 28, 2019
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