canonical / pipelines-rocks

ROCKs for Kubeflow Pipelines
Apache License 2.0
1 stars 7 forks source link

frontend rock does not build #20

Closed DnPlas closed 1 year ago

DnPlas commented 1 year ago

The rock cannot be packed and returns with the following message:

:: [2/4] Fetching packages...
:: error minio@7.1.1: The engine "node" is incompatible with this module. Expected version "^16 || ^18 || >=20". Got "14.21.2"
:: error Found incompatible module.
:: info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
'override-build' in part 'backend' failed with code 1.
DnPlas commented 1 year ago

The pipelines frontend Dockerfile in branch 2.0.0-alpha.7 has an issue that was not fixed until after the upstream pipelines project cut the 2.0.0-alpha.7 tag. The details of the issue and fixes can be found in the description of kubeflow/pipelines/pull/9541, but the highlight of the issue is:

1) workbox-webpack-plugin is an indirect dependency pulled by react-scripts. Its 6.6.1 version is incompatible with node 14. Although the package is deprecated, somehow yarn still picks it up. 2) minio 7.1.1 released 7 days ago is incompatible with node 14.

This is exactly the problem we are having when packing the frontend rock because we are using tag 2.0.0-alpha.7. I have tried bumping the source-tag to 2.0.0 and it actually solves the issue.

Proposed fix

Since the tag we are using is an intermediate release the pipelines WG released for Kubeflow version 1.7, we can either cherry pick those changes in kubeflow/pipelines/pull/9541 or use tag 2.0.0 instead of 2.0.0-alpha.7. The latter option will mean we'll have to also update all Rockcraft projects in this repository to keep consistency. Bumping 2.0.0-alpha7 to 2.0.0 will actually be beneficial to the team because we are on the verge of upgrading all charms to match KFP 2.0.0, the latest stable release of that project.