Skip to content

One of the test suite deps has a regression #892

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
BookOfGreg opened this issue Apr 16, 2018 · 8 comments
Closed

One of the test suite deps has a regression #892

BookOfGreg opened this issue Apr 16, 2018 · 8 comments

Comments

@BookOfGreg
Copy link
Member

Steps to reproduce

Look at the Travis

Expected behaviour

Green 🎉

Actual behaviour

Red 😢

Last successful one was https://travis-ci.org/reactjs/react-rails/jobs/342097144
Check the bundle section and play a game of whack-a-gem. Can replicate locally if I bundle exec appraisal update then bundle exec appraisal rake.

This was not caught as my appraisal install was stale.

@suhailnaw
Copy link

I'd like to take a stab at this! I'm looking to make my first open source contribution and will take a few hours to look at it this week.

@BookOfGreg
Copy link
Member Author

@suhailnaw Thank you, it's certainly possible to simply peg the version of all the gems down for that appraisal to solve it, but I'd like to know which specific gem had a backward-incompatible change. (So we can go blame them 😉 )

Good luck and most importantly have fun.

@suhailnaw
Copy link

Hey @BookOfGreg I'm still working on this issue. I wanted to update you on my work so far.

I compared the versions of the Ruby gems from the broken builds and the working builds and did not find a difference. I then thought it might be the version of Chrome that was the issue, but changing it in the PR above did not work.

My next step is to set up the local dev environment on my computer. I'm going to use rbenv to manage the two versions of Ruby we're interested in, 2.3.0 and 2.5.0, and try to get the builds to work. Do you have any ideas of where to look?

I would also like to use TravisCI to troubleshoot since I'm finding the graphical interface of build history useful. But I don't want to crowd your commit history. Is the standard procedure just to develop locally or can I use TravisCI?

@BookOfGreg
Copy link
Member Author

I suspected the gems because it's not easy to get a gemfile lock when using appraisal

Additionally I was able to run the tests on my local machine but when I removed my appraisal lockfiles it failed in the same way.
Perhaps there is a dependency in the appraisals that should be locked lower but isn't. I already tried webpacker as they tend to break stuff and move quickly but wasn't them as far as I can tell this time.

@ttanimichi
Copy link
Member

👀

@ttanimichi
Copy link
Member

The cause of the error seems to be an incompatibility of webpacker. ref. #916

@BookOfGreg
Copy link
Member Author

Well done getting to the bottom of this one, it's been bothering me for ages. Do you think Webpack was also mangling the names of internal classes given the removal of assert_includes js_file, 'ReactRailsUJS'?

I wonder if I declare it as a global then I could re-instate that test.

Otherwise nice work 👍

@ttanimichi
Copy link
Member

Do you think Webpack was also mangling the names of internal classes

I'm not 100% sure, but yes, I think the way of minifying/uglifying pack files isn't an external specification but an implementation detail of Webpack(er). I think WebpackerManifestContainerTest should be an unit test for WebpackerManifestContainer, and it probably shouldn't depend on external inputs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants