-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
test: Run E2E tests in isolated tmp directory #16783
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
base: develop
Are you sure you want to change the base?
Conversation
size-limit report 📦
|
12cebf0
to
a6a6c3a
Compare
) Not sure why we even have this, but this somehow breaks cloudflare-pages E2E tests in some scenarios. It also seems simply unnecessary - or is there a reason we have this? 🤔 Extracted this out from #16783
a6a6c3a
to
5cbdd25
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Amazing!!
@@ -17,14 +17,23 @@ | |||
}, | |||
"dependencies": { | |||
"@sentry/nuxt": "latest || *", | |||
"nuxt": "3.7.0" | |||
"@sentry/core": "latest || *", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is only installed because semantic attributes are imported from @sentry/core
in the tests -> could it be that those are also exported from @sentry/nuxt
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Super nice!
@@ -63,7 +63,7 @@ | |||
"devDependencies": { | |||
"@cloudflare/workers-types": "4.20250620.0", | |||
"@types/node": "^18.19.1", | |||
"wrangler": "^3.67.1" | |||
"wrangler": "4.22.0" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we ^
here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hard pinning is fine, we'll revisit soon anyway
Noticed #16783 in the nuxt-3-min test, that the plugins are not consistently run apparently. In that test, the client integrations plugin was run before the client config plugin, leading to the client not existing yet, and thus not adding the browser tracing integration. This PR changes this to ensure we have a consistent order of these plugins.
We used to rely on a somewhat complex heuristic to determine if a router change is a pageload or not. This somehow did not work anymore here: #16783 in nuxt-3-min. Likely some vue router difference... However, I think this can be simplified anyhow, by just checking if we have an active pageload span. That seems to work reliably enough.
We used to rely on a somewhat complex heuristic to determine if a router change is a pageload or not. This somehow did not work anymore here: #16783 in nuxt-3-min. Likely some vue router difference... However, I think this can be simplified anyhow, by just checking if we have an active pageload span. That seems to work reliably enough.
Noticed #16783 in the nuxt-3-min test, that the plugins are not consistently run apparently. In that test, the client integrations plugin was run before the client config plugin, leading to the client not existing yet, and thus not adding the browser tracing integration. This PR changes this to ensure we have a consistent order of these plugins.
c059725
to
efd9b27
Compare
Noticed #16783 in the nuxt-3-min test, that the plugins are not consistently run apparently. In that test, the client integrations plugin was run before the client config plugin, leading to the client not existing yet, and thus not adding the browser tracing integration. This PR changes this to ensure we have a consistent order of these plugins.
efd9b27
to
65a6c9f
Compare
Also fixes #16796 |
This PR updates our E2E test runner to run the apps from an isolated tmp directory, instead of running them inside the monorepo.
Depends on:
The reason to do this is that running them inside the monorepo leads to slightly different behavior, as dependencies can be looked up from parent node_modules folders. This leads to behavior that differs from actual standalone apps.
Now, the whole app is moved into a folder in the system tmp directory. The package.json is adjusted to make it work there (e.g. rewriting volta
extends
file paths etc), then normally run from there.Some things had to be changed/fixed to make tests work here properly:
@sentry/core
in tests but did not have it as dependency.@sentry/core
in tests