Skip to content
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

[Flaky CI]: Html Webpack Plugin: Error: EEXIST: file already exists, symlink <...> #11902

Closed
billyvg opened this issue May 5, 2024 · 1 comment · Fixed by #13199
Closed

Comments

@billyvg
Copy link
Member

billyvg commented May 5, 2024

This affects all of our Playwright tests because webpack is failing to output bundles

Flakiness Type

Other / Unknown

Name of Job

Playwright (bundle_tracing_replay_feedback) Tests

Name of Test

integrations/Breadcrumbs/dom/click/test.ts:7:11

Link to Test Run

https://github.com/getsentry/sentry-javascript/actions/runs/8960269977/job/24606691207?pr=11899#logs

Details

Downloaded the playwright trace and this is what is being rendered when loading the page:

Html Webpack Plugin:
<pre>
  Error: EEXIST: file already exists, symlink '/home/runner/work/sentry-javascri  pt/sentry-javascript/packages/browser/build/bundles/bundle.tracing.replay.feed  back.js' -> '/home/runner/work/sentry-javascript/sentry-javascript/dev-package  s/browser-integration-tests/tmp/static/cdn.bundle.js'
  
  - node:fs:1816 Object.symlinkSync
    node:fs:1816:3
  
  - staticAssets.ts:30 addStaticAssetSymlink
    /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/browser-i    ntegration-tests/utils/staticAssets.ts:30:8
  
  - generatePlugin.ts:203 
    /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/browser-i    ntegration-tests/utils/generatePlugin.ts:203:32
  
  
  - new Promise
  
  
  - Hook.js:22 Hook.PROMISE_DELEGATE [as _promise]
    [sentry-javascript]/[tapable]/lib/Hook.js:22:14
  
  - index.js:281 
    [browser-integration-tests]/[html-webpack-plugin]/index.js:281:89
  
  - task_queues:95 processTicksAndRejections
    node:internal/process/task_queues:95:5
  
</pre>
@billyvg billyvg changed the title [Flaky CI]: integrations/Breadcrumbs/dom/click/test.ts:7:11 › captures Breadcrumb for clicks & debounces them for a second [Flaky CI]: Html Webpack Plugin: Error: EEXIST: file already exists, symlink <...> Aug 2, 2024
@billyvg
Copy link
Member Author

billyvg commented Aug 2, 2024

These tests (aside from the LCP one) are failing due to this issue as well

Here is the output that is recorded in the Playwright traces:

Html Webpack Plugin:
  Error: EEXIST: file already exists, symlink '/home/runner/work/sentry-javascri  pt/sentry-javascript/packages/browser/build/bundles/bundle.debug.min.js' -> '/  home/runner/work/sentry-javascript/sentry-javascript/dev-packages/browser-inte  gration-tests/tmp/static/cdn.bundle.js'
  
  - node:fs:1814 Object.symlinkSync
    node:fs:1814:3
  
  - staticAssets.ts:30 addStaticAssetSymlink
    /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/browser-i    ntegration-tests/utils/staticAssets.ts:30:8
  
  - generatePlugin.ts:217 
    /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/browser-i    ntegration-tests/utils/generatePlugin.ts:217:32
  
  
  - new Promise
  
  
  - Hook.js:22 Hook.PROMISE_DELEGATE [as _promise]
    [sentry-javascript]/[tapable]/lib/Hook.js:22:14
  
  - index.js:281 
    [browser-integration-tests]/[html-webpack-plugin]/index.js:281:89
  
  - task_queues:95 processTicksAndRejections
    node:internal/process/task_queues:95:5

Feedback related:

Html Webpack Plugin:
  Error: EEXIST: file already exists, symlink '/home/runner/work/sentry-javascri  pt/sentry-javascript/packages/browser/build/bundles/bundle.tracing.replay.feed  back.min.js' -> '/home/runner/work/sentry-javascript/sentry-javascript/dev-pac  kages/browser-integration-tests/tmp/static/cdn.bundle.js'
  
  - node:fs:1814 Object.symlinkSync
    node:fs:1814:3
  
  - staticAssets.ts:30 addStaticAssetSymlink
    /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/browser-i    ntegration-tests/utils/staticAssets.ts:30:8
  
  - generatePlugin.ts:217 
    /home/runner/work/sentry-javascript/sentry-javascript/dev-packages/browser-i    ntegration-tests/utils/generatePlugin.ts:217:32
  
  
  - new Promise
  
  
  - Hook.js:22 Hook.PROMISE_DELEGATE [as _promise]
    [sentry-javascript]/[tapable]/lib/Hook.js:22:14
  
  - index.js:281 
    [browser-integration-tests]/[html-webpack-plugin]/index.js:281:89
  
  - task_queues:95 processTicksAndRejections
    node:internal/process/task_queues:95:5

billyvg added a commit that referenced this issue Aug 2, 2024
Our playwright tests can be flakey caused by the build process when generating static assets. Even though we check if file exists before symlinking, it can at times fail because file already exists. I have not dug/thought about why this happens -- just catch/ignore and move on.

Closes #11902
billyvg added a commit that referenced this issue Aug 2, 2024
Our playwright tests can be flakey caused by the build process when generating static assets. Even though we check if file exists before symlinking, it can at times fail because file already exists. I have not dug/thought about why this happens -- just catch/ignore and move on.

Closes #11902
@billyvg billyvg closed this as completed in a7fbe01 Aug 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant