Failing integration tests in Foreman core

For the past couple of days, 63 integration tests started to fail on all PR testing. So far I have been unable to pinpoint what changed, any help is appreciated.
The first run that started failing is https://ci.theforeman.org/job/test_develop_pr_core/4413/, last known good is https://ci.theforeman.org/job/test_develop_pr_core/4412/
Gemfile.lock seems identical other than a minor version bump in optimist gem which probably shouldn’t affect tests.

I can reproduce it locally and something’s wrong with i18n and/or react-intl. The relevant new warnings in the webpack build are also related:

WARNING in ./webpack/assets/javascripts/react_app/common/I18n.js
111:49-59 Critical dependency: the request of a dependency is an expression
 @ ./webpack/assets/javascripts/react_app/common/I18n.js
 @ ./webpack/assets/javascripts/bundle.js

So far I’ve determined that commenting out the imports at https://github.com/theforeman/foreman/blob/develop/webpack/assets/javascripts/react_app/common/I18n.js#L17-L19 and https://github.com/theforeman/foreman/blob/develop/webpack/assets/javascripts/react_app/common/I18n.js#L27-L29 resolve the issue locally. Removing the await still causes compile warnings, but the page loads properly.

This seems to indicate something around how babel or webpack handle the import changed a couple of days ago. so far I’ve been unable to pinpoint the exact package that changed, and my attempts at writing a script to get that a list of recently updated package from npm in node hit a wall since the npm view function does not return a value.

And the winner is: https://www.npmjs.com/package/babel-plugin-dynamic-import-node
Looks like pinning that to 2.3.0 fixes the issue.

1 Like