CircleCI-Public / node-orb

An orb for working with Node.js on CircleCI
https://circleci.com/orbs/registry/orb/circleci/node
MIT License
52 stars 80 forks source link

In yarn-berrry, node_modules are not cached causing the native binaries to be rebuild every time #211

Open kasperpeulen opened 7 months ago

kasperpeulen commented 7 months ago

I'm using the following config:

      - node/install-packages:
          app-dir: code
          cache-version: 4.1.1
          pkg-manager: yarn-berry

But it seems like only these 2 directories are cached:

/tmp/storybook/code/.yarn/cache
/home/circleci/.yarn/berry/cache

Which causes still a 27s wait for all the native packages to be rebuild that are cached in the node_modules directory in yarn when not using pnp:

➤ YN0000: · Yarn 4.1.1
➤ YN0000: ┌ Resolution step
➤ YN0000: └ Completed in 0s 703ms
➤ YN0000: ┌ Post-resolution validation
➤ YN0060: │ @storybook/blocks is listed by your project with version 8.0.0-rc.0, which doesn't satisfy what @chromaui/addon-visual-tests (pc1305) requests (^7.2.0).
➤ YN0060: │ @storybook/client-logger is listed by your project with version 8.0.0-rc.0, which doesn't satisfy what @chromaui/addon-visual-tests (pf0821) requests (^7.2.0).
➤ YN0060: │ @storybook/components is listed by your project with version 8.0.0-rc.0, which doesn't satisfy what @chromaui/addon-visual-tests (pd7019) requests (^7.2.0).
➤ YN0060: │ @storybook/components is listed by your project with version 8.0.0-rc.0, which doesn't satisfy what @storybook/addon-designs (p37e64) requests (^7.0.0).
➤ YN0060: │ @storybook/core-events is listed by your project with version 8.0.0-rc.0, which doesn't satisfy what @chromaui/addon-visual-tests (pe8a49) requests (^7.2.0).
➤ YN0060: │ @storybook/manager-api is listed by your project with version 8.0.0-rc.0, which doesn't satisfy what @storybook/addon-designs (pb3446) and other dependencies request (^7.2.0).
➤ YN0060: │ @storybook/preview-api is listed by your project with version 8.0.0-rc.0, which doesn't satisfy what @chromaui/addon-visual-tests (pbaa43) requests (^7.2.0).
➤ YN0060: │ @storybook/theming is listed by your project with version 8.0.0-rc.0, which doesn't satisfy what @chromaui/addon-visual-tests (pd0b24) requests (^7.2.0).
➤ YN0060: │ @storybook/theming is listed by your project with version 8.0.0-rc.0, which doesn't satisfy what @storybook/addon-designs (pe39a6) requests (^7.0.0).
➤ YN0060: │ @storybook/types is listed by your project with version 8.0.0-rc.0, which doesn't satisfy what @chromaui/addon-visual-tests (pbcd70) requests (^7.2.0).
➤ YN0060: │ @vue/compiler-sfc is listed by your project with version 3.0.0, which doesn't satisfy what @storybook/preset-vue3-webpack (p87887) and other dependencies request (^3.0.8).
➤ YN0060: │ react is listed by your project with version 18.2.0, which doesn't satisfy what @chromaui/addon-visual-tests (p1eae0) and other dependencies request (^16.8.0).
➤ YN0060: │ react-dom is listed by your project with version 18.2.0, which doesn't satisfy what @chromaui/addon-visual-tests (p1d4bf) and other dependencies request (^16.8.0).
➤ YN0060: │ svelte is listed by your project with version 5.0.0-next.28, which doesn't satisfy what @storybook/svelte (pd20c9) and other dependencies request (^4.0.0 || ^4.0.0 || ^4.0.0 || ^4.0.0).
➤ YN0060: │ typescript is listed by your project with version 5.3.3, which doesn't satisfy what @storybook/angular (p4778c) and other dependencies request (~5.2.0).
➤ YN0060: │ vite is listed by your project with version 4.5.1, which doesn't satisfy what @nx/vite (p7b0a6) requests (^5.0.0).
➤ YN0060: │ vitest is listed by your project with version 1.2.2, which doesn't satisfy what @nx/vite (pa56b5) requests (^1.3.1).
➤ YN0060: │ vue is listed by your project with version 3.0.0, which doesn't satisfy what @storybook/preset-vue3-webpack (p64745) and other dependencies request (^3.2.25).
➤ YN0002: │ @storybook/addon-themes@workspace:addons/themes doesn't provide react (p38ad4), requested by @storybook/icons.
➤ YN0002: │ @storybook/addon-themes@workspace:addons/themes doesn't provide react (p7c9e8), requested by @storybook/components.
➤ YN0002: │ @storybook/addon-themes@workspace:addons/themes doesn't provide react-dom (p83dbd), requested by @storybook/icons.
➤ YN0002: │ @storybook/addon-themes@workspace:addons/themes doesn't provide react-dom (pffb80), requested by @storybook/components.
➤ YN0002: │ @storybook/docs-tools@workspace:lib/docs-tools doesn't provide @babel/core (p80e37), requested by @babel/preset-react.
➤ YN0002: │ @storybook/ember@workspace:frameworks/ember [cfb4f] doesn't provide webpack (pb33c8), requested by babel-loader.
➤ YN0002: │ @storybook/ember@workspace:frameworks/ember doesn't provide webpack (p067c2), requested by babel-loader.
➤ YN0002: │ @storybook/manager@workspace:ui/manager doesn't provide @storybook/addon-docs (p2df81), requested by @storybook/addon-designs.
➤ YN0002: │ @storybook/manager@workspace:ui/manager doesn't provide @storybook/addons (p298a8), requested by @storybook/addon-designs.
➤ YN0002: │ @storybook/manager@workspace:ui/manager doesn't provide @storybook/preview-api (pc1a89), requested by @storybook/addon-designs.
➤ YN0002: │ @storybook/preset-create-react-app@workspace:presets/create-react-app [cfb4f] doesn't provide react-refresh (pc66a3), requested by @pmmmwh/react-refresh-webpack-plugin.
➤ YN0002: │ @storybook/preset-create-react-app@workspace:presets/create-react-app [cfb4f] doesn't provide webpack (pb0876), requested by @pmmmwh/react-refresh-webpack-plugin.
➤ YN0002: │ @storybook/preset-create-react-app@workspace:presets/create-react-app doesn't provide react-refresh (p6fe1b), requested by @pmmmwh/react-refresh-webpack-plugin.
➤ YN0002: │ @storybook/preset-create-react-app@workspace:presets/create-react-app doesn't provide webpack (p217f1), requested by @pmmmwh/react-refresh-webpack-plugin.
➤ YN0002: │ @storybook/root@workspace:. doesn't provide @babel/core (p97ed5), requested by @storybook/ember.
➤ YN0002: │ @storybook/root@workspace:. doesn't provide babel-plugin-ember-modules-api-polyfill (p07030), requested by @storybook/ember.
➤ YN0002: │ @storybook/root@workspace:. doesn't provide babel-plugin-htmlbars-inline-precompile (p7c26f), requested by @storybook/ember.
➤ YN0002: │ @storybook/root@workspace:. doesn't provide eslint-plugin-import (p83842), requested by eslint-import-resolver-typescript.
➤ YN0002: │ @storybook/root@workspace:. doesn't provide preact (p5cfc3), requested by @storybook/preact-vite.
➤ YN0002: │ @storybook/root@workspace:. doesn't provide react-scripts (p6a9cc), requested by @storybook/preset-create-react-app.
➤ YN0002: │ @storybook/root@workspace:. doesn't provide remark (p477c8), requested by @storybook/linter-config.
➤ YN0002: │ @storybook/root@workspace:. doesn't provide rxjs (p4c106), requested by @storybook/angular.
➤ YN0002: │ @storybook/root@workspace:. doesn't provide webpack (pb21ed), requested by esbuild-loader.
➤ YN0002: │ @storybook/svelte@workspace:renderers/svelte [cb529] doesn't provide vite (p2b7a8), requested by @sveltejs/vite-plugin-svelte.
➤ YN0002: │ @storybook/svelte@workspace:renderers/svelte [cfb4f] doesn't provide vite (pc90f7), requested by @sveltejs/vite-plugin-svelte.
➤ YN0002: │ @storybook/svelte@workspace:renderers/svelte doesn't provide vite (p7d18c), requested by @sveltejs/vite-plugin-svelte.
➤ YN0002: │ @storybook/vue3-vite@workspace:frameworks/vue3-vite [cfb4f] doesn't provide vue (p2cce4), requested by vue-docgen-api.
➤ YN0002: │ @storybook/vue3-vite@workspace:frameworks/vue3-vite doesn't provide vue (p8de62), requested by vue-docgen-api.
➤ YN0002: │ @storybook/vue3@workspace:renderers/vue3 [68dfe] doesn't provide @vue/compiler-sfc (p8cb65), requested by @testing-library/vue.
➤ YN0002: │ @storybook/vue3@workspace:renderers/vue3 [68dfe] doesn't provide vite (p6eafa), requested by @vitejs/plugin-vue.
➤ YN0002: │ @storybook/vue3@workspace:renderers/vue3 [cfb4f] doesn't provide @vue/compiler-sfc (pd6f7e), requested by @testing-library/vue.
➤ YN0002: │ @storybook/vue3@workspace:renderers/vue3 [cfb4f] doesn't provide vite (p6417d), requested by @vitejs/plugin-vue.
➤ YN0002: │ @storybook/vue3@workspace:renderers/vue3 doesn't provide @vue/compiler-sfc (p84ec1), requested by @testing-library/vue.
➤ YN0002: │ @storybook/vue3@workspace:renderers/vue3 doesn't provide vite (pf6197), requested by @vitejs/plugin-vue.
➤ YN0086: │ Some peer dependencies are incorrectly met; run yarn explain peer-requirements <hash> for details, where <hash> is the six-letter p-prefixed code.
➤ YN0000: └ Completed
➤ YN0000: ┌ Fetch step
➤ YN0000: └ Completed in 1s 657ms
➤ YN0000: ┌ Link step
➤ YN0072: │ The application uses portals and that's why --preserve-symlinks Node option is required for launching it
➤ YN0007: │ esbuild@npm:0.18.20 must be built because it never has been before or the last one failed
➤ YN0007: │ husky@npm:4.3.8 must be built because it never has been before or the last one failed
➤ YN0007: │ nx@npm:18.0.6 [5084b] must be built because it never has been before or the last one failed
➤ YN0007: │ playwright@npm:1.36.0 must be built because it never has been before or the last one failed
➤ YN0007: │ core-js@npm:3.33.0 must be built because it never has been before or the last one failed
➤ YN0007: │ sharp@npm:0.32.6 must be built because it never has been before or the last one failed
➤ YN0007: │ svelte-preprocess@npm:5.1.1 [c3559] must be built because it never has been before or the last one failed
➤ YN0007: │ core-js-pure@npm:3.33.0 must be built because it never has been before or the last one failed
➤ YN0007: │ nice-napi@npm:1.0.2 must be built because it never has been before or the last one failed
➤ YN0007: │ core-js@npm:2.6.12 must be built because it never has been before or the last one failed
➤ YN0000: │ husky@npm:4.3.8 STDOUT husky > Setting up git hooks
➤ YN0000: │ husky@npm:4.3.8 STDOUT CI detected, skipping Git hooks installation.
➤ YN0000: │ husky@npm:4.3.8 STDOUT husky > Done
➤ YN0000: │ svelte-preprocess@npm:5.1.1 [c3559] STDOUT [svelte-preprocess] Don't forget to install the preprocessors packages that will be used: sass, stylus, less, postcss & postcss-load-config, coffeescript, pug, etc...
➤ YN0000: │ playwright@npm:1.36.0 STDOUT Skipping browsers download because `PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD` env variable is set
➤ YN0000: │ sharp@npm:0.32.6 STDOUT sharp: Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.14.5/libvips-8.14.5-linux-x64.tar.br
➤ YN0000: │ sharp@npm:0.32.6 STDOUT sharp: Integrity check passed for linux-x64
➤ YN0000: │ nx@npm:18.0.6 [5084b] STDERR The CJS build of Vite's Node API is deprecated. See https://vitejs.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details.
➤ YN0000: │ nx@npm:18.0.6 [5084b] STDERR 12:10:18 PM [vite-plugin-svelte] Your are using Svelte 5.0.0-next.28. Svelte 5 support is experimental, breaking changes can occur in any release until this notice is removed.
➤ YN0000: │ nx@npm:18.0.6 [5084b] STDERR work in progress:
➤ YN0000: │ nx@npm:18.0.6 [5084b] STDERR  - svelte-inspector is disabled until dev mode implements node to code mapping
➤ YN0000: │ nx@npm:18.0.6 [5084b] STDERR  - hmr for .svelte files is disabled until hmr api is implemented
➤ YN0000: │ nx@npm:18.0.6 [5084b] STDERR 
➤ YN0000: └ Completed in 19s 923ms
➤ YN0000: · Done with warnings in 23s 55ms
marboledacci commented 1 day ago

You can use the cache-path parameter to cache a different location to the default.