foreman-develop-package-release 1166 failed

foreman package release pipeline failed:

https://ci.theforeman.org/job/foreman-develop-package-release/1166/

Looks like something in the vendor-js upgrade broke debian builds:

10:30:28 ModuleNotFoundError: Module not found: Error: Can't resolve 'react-intl/locale-data' in '/home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/webpack/assets/javascripts/react_app/common'
10:30:30     at factoryCallback (/home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/webpack/lib/Compilation.js:282:40)
10:30:30     at /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/webpack/lib/ContextModuleFactory.js:79:20
10:30:30     at /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/async/dist/async.js:3888:9
10:30:30     at /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/async/dist/async.js:473:16
10:30:30     at iteratorCallback (/home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/async/dist/async.js:1062:13)
10:30:30     at /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/async/dist/async.js:969:16
10:30:30     at /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/async/dist/async.js:3885:13
10:30:30     at /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/webpack/lib/ContextModuleFactory.js:66:22
10:30:30     at onError (/home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/enhanced-resolve/lib/Resolver.js:65:10)
10:30:30     at loggingCallbackWrapper (/home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/enhanced-resolve/lib/createInnerCallback.js:31:19)
10:30:30     at runAfter (/home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/enhanced-resolve/lib/Resolver.js:158:4)
10:30:30     at innerCallback (/home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/enhanced-resolve/lib/Resolver.js:146:3)
10:30:30     at loggingCallbackWrapper (/home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/enhanced-resolve/lib/createInnerCallback.js:31:19)
10:30:30     at next (/home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/tapable/lib/Tapable.js:252:11)
10:30:30     at /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js:40:4
10:30:30     at loggingCallbackWrapper (/home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/enhanced-resolve/lib/createInnerCallback.js:31:19)
10:30:30     at runAfter (/home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/enhanced-resolve/lib/Resolver.js:158:4)
10:30:30     at innerCallback (/home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/enhanced-resolve/lib/Resolver.js:146:3)
10:30:30     at loggingCallbackWrapper (/home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/enhanced-resolve/lib/createInnerCallback.js:31:19)
10:30:30     at next (/home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/tapable/lib/Tapable.js:252:11)
10:30:30     at innerCallback (/home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/enhanced-resolve/lib/Resolver.js:144:11)
10:30:30     at loggingCallbackWrapper (/home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/enhanced-resolve/lib/createInnerCallback.js:31:19)
10:30:30     at next (/home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/tapable/lib/Tapable.js:249:35)
10:30:30     at /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js:44:6
10:30:30     at loggingCallbackWrapper (/home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/enhanced-resolve/lib/createInnerCallback.js:31:19)
10:30:30     at afterInnerCallback (/home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/enhanced-resolve/lib/Resolver.js:166:11)
10:30:30     at loggingCallbackWrapper (/home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/enhanced-resolve/lib/createInnerCallback.js:31:19)
10:30:30     at next (/home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/tapable/lib/Tapable.js:249:35)
10:30:30     at /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/enhanced-resolve/lib/ModuleKindPlugin.js:23:4
10:30:30     at loggingCallbackWrapper (/home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/enhanced-resolve/lib/createInnerCallback.js:31:19)
10:30:30 resolve 'react-intl/locale-data' in '/home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/webpack/assets/javascripts/react_app/common'
10:30:30   Parsed request is a module
10:30:30   using description file: /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/package.json (relative path: ./webpack/assets/javascripts/react_app/common)
10:30:30     Field 'browser' doesn't contain a valid alias configuration
10:30:30   after using description file: /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/package.json (relative path: ./webpack/assets/javascripts/react_app/common)
10:30:30     resolve as module
10:30:30       looking for modules in /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/webpack
10:30:30         using description file: /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/package.json (relative path: ./webpack)
10:30:30           Field 'browser' doesn't contain a valid alias configuration
10:30:30         after using description file: /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/package.json (relative path: ./webpack)
10:30:30           using description file: /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/package.json (relative path: ./webpack/react-intl/locale-data)
10:30:30             as directory
10:30:30               /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/webpack/react-intl/locale-data doesn't exist
10:30:30       looking for modules in /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules
10:30:30         using description file: /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/package.json (relative path: ./node_modules)
10:30:30           Field 'browser' doesn't contain a valid alias configuration
10:30:30         after using description file: /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/package.json (relative path: ./node_modules)
10:30:30           using description file: /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/package.json (relative path: ./node_modules/react-intl/locale-data)
10:30:30             as directory
10:30:30               /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/react-intl/locale-data doesn't exist
10:30:30       /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/webpack/assets/javascripts/react_app/common/node_modules/ doesn't exist or is not a directory
10:30:30       /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/webpack/assets/javascripts/react_app/node_modules/ doesn't exist or is not a directory
10:30:30       /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/webpack/assets/javascripts/node_modules/ doesn't exist or is not a directory
10:30:30       /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/webpack/assets/node_modules/ doesn't exist or is not a directory
10:30:30       /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/webpack/node_modules/ doesn't exist or is not a directory
10:30:30       /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/node_modules/ doesn't exist or is not a directory
10:30:30       /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/node_modules/ doesn't exist or is not a directory
10:30:30       /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/node_modules/ doesn't exist or is not a directory
10:30:30       /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/node_modules/ doesn't exist or is not a directory
10:30:30       /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/node_modules/ doesn't exist or is not a directory
10:30:30       /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/node_modules/ doesn't exist or is not a directory
10:30:30       /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/node_modules/ doesn't exist or is not a directory
10:30:30       /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/node_modules/ doesn't exist or is not a directory
10:30:30       /home/jenkins/workspace/packaging_build_deb_coreproject/arch/node_modules/ doesn't exist or is not a directory
10:30:30       /home/jenkins/workspace/packaging_build_deb_coreproject/node_modules/ doesn't exist or is not a directory
10:30:30       /home/jenkins/workspace/node_modules/ doesn't exist or is not a directory
10:30:30       /home/jenkins/node_modules/ doesn't exist or is not a directory
10:30:30       /home/node_modules/ doesn't exist or is not a directory
10:30:30       /node_modules/ doesn't exist or is not a directory
10:30:30       looking for modules in /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/
10:30:30         using description file: /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/package.json (relative path: ./node_modules/)
10:30:30           Field 'browser' doesn't contain a valid alias configuration
10:30:30         after using description file: /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/package.json (relative path: ./node_modules/)
10:30:30           using description file: /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/package.json (relative path: ./node_modules/react-intl/locale-data)
10:30:30             as directory
10:30:30               /home/jenkins/workspace/packaging_build_deb_coreproject/arch/x86/label/debian/os/focal/debian/focal/build-foreman/foreman-3.1.0/node_modules/react-intl/locale-data doesn't exist
10:30:30 rake aborted!

Does it only fail with debian? I would expect it to fail everywhere.

The issue is this line: https://github.com/theforeman/foreman/blob/92b4247fe20b56779508b432bec760d0368668d6/webpack/assets/javascripts/react_app/common/I18n.js#L19

async init() {
    await this.fetchIntl();
    addLocaleData(
      await import(
        /* webpackChunkName: 'react-intl/locale/[request]' */ `react-intl/locale-data/${this.locale}`
      )
    );
    return true;
  }

Once we moved react-intl to the vendor, we can’t do async imports anymore because we don’t have to react-intl in our node_module at the time of the build.

In my previous attempt to move intl related packages to the vendor, I had to do some major refactors with the way we do async imports and load them:

I believe we should revert and implement the intl in the vendor correctly.

btw, that’s the reason we decided to keep the intl related modules in foreman until we have a better solution for async loading node modules from the vendor.

A possible workaround can be to just reinstall react-intl in foreman and have it duplicated.

react-intl comes with 2 parts:

  1. logic/components
  2. language/local data

At the moment, we have the logic and the components built into the vendor with version 8.16.0.
Because plugins only use the components of react-intl they can continue consuming it from the vendor.

The language/local data need to get built into foreman using webpack so if we just reinstall the react-intl the build should work again.

The issue with this workaround is having react-intl duplicated in foreman and in the vendor source code (we should not have duplications in the build results).

tbh I’m not sure what makes more sense, reverting or using this workaround.

1 Like

PR with the workaround created https://github.com/theforeman/foreman/pull/8882

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.