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

Test against Ruby 2.7 on CircleCI #1548

Merged
merged 1 commit into from
Oct 6, 2020
Merged

Conversation

nickcharlton
Copy link
Member

No description provided.

@nickcharlton nickcharlton force-pushed the nc-test-against-ruby-27 branch from baaa00a to 5bc48a8 Compare February 12, 2020 16:18
@nickcharlton nickcharlton added dependencies changes or issues relating to a dependency maintenance to keep up with changes around us labels Feb 12, 2020
@nickcharlton nickcharlton mentioned this pull request Apr 6, 2020
@nickcharlton nickcharlton force-pushed the nc-test-against-ruby-27 branch 3 times, most recently from f78db13 to 1d5af25 Compare August 21, 2020 15:39
@nickcharlton
Copy link
Member Author

I don't seem to be able to get this to work: spec/features/log_entries_index_spec.rb:51 is failing with:

Failures:

  1) log entries index page user deletes record
     Failure/Error: click_on t("administrate.actions.destroy")
     
     Selenium::WebDriver::Error::ElementNotInteractableError:
       element not interactable: element has zero size
         (Session info: headless chrome=84.0.4147.135)
     # #0 0x55794c864ea9 <unknown>
     # ./spec/features/log_entries_index_spec.rb:56:in `block (3 levels) in <top (required)>'
     # ./spec/features/log_entries_index_spec.rb:55:in `block (2 levels) in <top (required)>'

Which a) seems unrelated to adding a new Ruby version b) I can't replicate locally

@pablobm
Copy link
Collaborator

pablobm commented Sep 10, 2020

Had a look today. I cannot reproduce the issue locally either. I think it might be due to a bug in Chromium/Chromedriver v85.0.4183.102, but I can't confirm as my Linux machine runs Chromium v83, and getting v85 is a bit of a faff. For comparison, the CircleCI Ruby 2.6 image (which doesn't have this problem) runs ChromeDriver v76.0.3809.126.

Fortunately, SSH'ing into CircleCI allowed me to reproduce the issue. It appears that it arises when certain other specs are run before this one. For example, if you run this:

circleci@1b3969b0b512:~/administrate$ for spec_file in spec/features/*; do bundle exec rspec --order defined --format documentation $spec_file spec/features/log_entries_index_spec.rb:51 ; done

Then you'll see that the troublesome example will fail if one of the following specs runs first:

  • order form
  • Search
  • customer show page

I tried a few other things. It looks like after running a few times, Chromium/Chromedriver enters a state where this error happens. So there might be a compound effect going on... Not helpful!

An idea would be to try some arbitrary ChromeDriver options, such as fullscreen or window size. Who knows what could help.

@nickcharlton
Copy link
Member Author

Ah nice! The last time I tried this, I couldn't even connect to the running instance, so I'll try again and see.

@nickcharlton nickcharlton force-pushed the nc-test-against-ruby-27 branch from 1d5af25 to 140e721 Compare October 6, 2020 18:07
@nickcharlton
Copy link
Member Author

It's a browser size issue:

screenshot_2020-10-06-18-46-25 705

I'm not quite sure how it's only coming up now with this configuration, that seems odd to me.

We need to install a specific bundler version so that we're doing the
same in CI everywhere. Appraisal historically had issues with Bundler 2.0, but
upgrading this would be an unrelated change.
@nickcharlton nickcharlton force-pushed the nc-test-against-ruby-27 branch from dd54052 to a5f013a Compare October 6, 2020 21:12
@nickcharlton nickcharlton merged commit de7edad into master Oct 6, 2020
@nickcharlton nickcharlton deleted the nc-test-against-ruby-27 branch October 6, 2020 21:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies changes or issues relating to a dependency maintenance to keep up with changes around us
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants