-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
Default CLASSPATH with Selenium breaks JRuby #242
Comments
https://github.com/actions/virtual-environments/blob/95954b3f022a1c4626d112bd4fe82d0812fa6f4b/images/linux/scripts/installers/google-chrome.sh#L74 seems the specific line setting CLASSPATH on Linux runners. |
Ok so perhaps only Linux environments are affected. |
And https://github.com/actions/virtual-environments/pull/185/files#diff-5e79e2c7eccdc5e0edbd13c036ba94b6R32-R34 is probably what sets it on Windows. |
cc @pkuczynski |
Clearing |
Another failing build: https://github.com/ruby/psych/pull/429/checks?check_run_id=380304944 This will affect all users running JRuby in Github Actions until it is resolved. |
3074: Try workaround for JRuby build r=deivid-rodriguez a=deivid-rodriguez # Description: A change in the GA actions environment broke the JRuby build. Trying to apply the workaround mentioned in actions/runner-images#242 (comment). # Tasks: - [x] Describe the problem / feature - [ ] Write tests - [x] Write code to solve the problem - [ ] Get code review from coworkers / friends I will abide by the [code of conduct](https://github.com/rubygems/rubygems/blob/master/CODE_OF_CONDUCT.md). Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
@bryanmacfarlane @alepauly Could you ping whoever at GitHub can fix this? |
thanks for the ping @eregon, I'm looking into it since the changes from #185 have not been deployed to production so it's possible something else is the problem. edit: ok, the changes from #184 are included into what's going out to production and that's what broke it. I'm coordinating a fix now. |
For me the issue was intermittent. So maybe #185 was deployed to some workers? Clearing |
@pkuczynski the latest version which include #184 is not out in all machine pools so it is possible you've hit some of the older one versus the newer ones, correct. I stopped the roll out while we figure out what to do. |
@eregon @pkuczynski @headius building new images and validating takes a while so tomorrow morning (EST) we'll deploy a quick fix that applies the workaround automatically to all builds while we continue to validate the changes to rebuild the image to deploy as a final solution early next week. From your POV there will be no difference between the intermediate solution and the final one but just wanted to give some details on what we're working on. Thanks again for reporting! |
@alepauly Thank you for the quick turnaround! |
Thanks! I will wait for next week to test on my side. |
@headius, @pkuczynski, @eregon, I've created PR #247. It's already merged and should fix this issue. |
Thanks @AndreyMaslennikov! One clarification though: the fix will deploy in the next build which should roll out next week. We are deploying the workaround today. |
Good enough for me! |
It appears that the changes from #185 have caused Selenium's standalone server jar to be in the default system CLASSPATH environment variable. This needs to be removed.
jruby/jruby#6023 (comment)
That standalone jar contains a number of dependency libraries that have not been hidden or relocated ("shaded" in Maven parlance). As a result, any Java tools that have differing dependencies may pick up the wrong version of those libraries.
This is the cause of jruby/jruby#6023 because the older SnakeYAML included in Selenium conflicts with the expected version for JRuby's YAML library.
I would expect all environments are affect, assuming they all set this default CLASSPATH.
The fix is to not set (NEVER set) a global default CLASSPATH.
The text was updated successfully, but these errors were encountered: