Skip to content

Update and clean up Travis build #1998

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

Closed
wants to merge 1 commit into from
Closed

Update and clean up Travis build #1998

wants to merge 1 commit into from

Conversation

brian-kephart
Copy link
Contributor

Sorry for the big commit, but these changes are all pretty inter-related. Splitting it up seemed like it would make things more complicated, not less.

  1. Reworked .travis.yml. It used to be an auto-generated matrix, but the number of specific inclusions and exclusions made it confusing to try and update. I changed it to specifically list each build, ordered by Ruby version first and Rails version second.
  2. Added Ruby 2.5 to supported Rails versions in .travis.yml.
  3. Added stable git branches for Rails 5.1 and 5.2.
  4. Removed redundant Rails git branches. Versions below 4.2 receive no updates, so testing these git branches was redundant with testing the released versions.
  5. Updated each Ruby/Rails to latest patch version.
  6. Fixed some dependency issues with newer Rails versions that were causing build errors.
  7. Fixed an issue in the Rakefile that caused some versions to be tagged incorrectly, causing build errors.
  8. Added a build for development version of Ruby using Rails 5.2 (failures allowed).
  9. Removed tests of Ruby < 2.4 for Rails master.

Currently all released versions and stable branches build correctly. Rails master has a dependency issue causing failures, and Ruby-head has a segfault.

Please note that I did not intentionally remove any builds for old versions. The only builds I removed were git branches that were redundant with released gem versions. This PR is not meant to remove support for anything, only to improve coverage of new versions and maintainability of the build.

@sikachu
Copy link
Contributor

sikachu commented Jun 5, 2018

Rails master has a dependency issue causing failures.

I recently submitted a patch to fix this (rails/rails-controller-testing#42) and it got merged in today. Do you mind trying to re-run the build to see how it goes?

@brian-kephart
Copy link
Contributor Author

Thanks @sikachu for addressing that. See build log here. Now rails-controller-testing loads, but building with Rails master still fails because of the problem addressed in #1997.

Copy link
Member

@JonRowe JonRowe left a comment

Choose a reason for hiding this comment

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

Wow ok, so first of all thanks for taking the time to do this but I'm going to need some help here..

Reworked .travis.yml. It used to be an auto-generated matrix, but the number of specific inclusions and exclusions made it confusing to try and update. I changed it to specifically list each build, ordered by Ruby version first and Rails version second.

Great, probably about time since we keep adding specific rails exclusions with each new version but I'd like this to be a seperate PR, and I'll need to verify no build version changes.

Removed redundant Rails git branches. Versions below 4.2 receive no updates, so testing these git branches was redundant with testing the released versions.

Please restore them, the point is to prove our compatibility with Rails, not visa versa, we can introduce regressions in new versions of RSpec that break older Rails. (We are changing our support policy for Rails see, #1967)

Added a build for development version of Ruby using Rails 5.2 (failures allowed).

Can you remove this, our build is too large as it is.

@brian-kephart
Copy link
Contributor Author

Please explain about the old Rails git branches. No older Rails were removed, only development branches for versions no longer in development, none of which have received a commit in years. Current master essentially tests these twice, once using RubyGems, and once using GitHub.

@JonRowe
Copy link
Member

JonRowe commented Jun 18, 2018

No the branches are the stable release branches, we maintain support for rspec-rails with those branches currently, we are hoping to reduce this at our next major release but for now we are committed to maintaining that compatibility no matter when they were last committed to.

…ecent branches, and update supporting files as needed for the Travis build.
@brian-kephart
Copy link
Contributor Author

I still don't get it, but I guess that's your call.

I submitted a separate PR that's just changes to .travis.yml. I pushed the other requested changes to this branch.

@brian-kephart
Copy link
Contributor Author

I forgot that some of the other file changes assumed that those git release branches were no longer needed. This needs further reworking if you're intent on preserving those, and I don't have the time or enthusiasm for it.

This PR still fixes a lot of things that needed to be fixed to support more recent versions of Rails. I'll leave it here for others to reference or build on to implement that support in a way that you'll find more acceptable.

@JonRowe
Copy link
Member

JonRowe commented Jun 23, 2018

Closed by #2001

@JonRowe JonRowe closed this Jun 23, 2018
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.

3 participants