-
Notifications
You must be signed in to change notification settings - Fork 950
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
next.config.js bundle timeout deploys a broken build #6193
Comments
Hey @rasendubi, thanks for reporting. I discussed this with @alexastrum and we decided to increase the timeout to 60 seconds to workaround the network issues. It will be available in the next release. |
Hey @leoortizz. Increasing the timeout doesn't sound like a solution.
It surely decreases the chance of failure but I still don't like that there
is a 0.1% chance that it will silently deploy crap instead of my app. I
would like to reopen the issue to get it fixed.
What are the downsides to removing the timeout completely or adding esbuild
as dependency? I know timeouts were introduced to prevent hang-up, but I
would rather enjoy CI hang-up than production outage.
|
@rasendubi I understand, I'll follow up with @alexastrum for a long-term solution for this issue |
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
Hey @rasendubi, are you still having this issue? |
Hey @rasendubi. We need more information to resolve this issue but there hasn't been an update in 7 weekdays. I'm marking the issue as stale and if there are no new updates in the next 3 days I will close it automatically. If you have more information that will help us get to the bottom of this, just add a comment! |
I have applied the workaround locally (added esbuild to my dependencies),
so I cannot comment on whether the issue has been fixed or not.
|
@rasendubi this issue should have been fixed by #7395 would you mind trying it out with the latest version of Firebase CLI and confirm if the issue has been resolved? |
I no longer work on that project, so I cannot test.
I looked through #7395 and it looks like it fixes the issue by removing
timeout. The worrying catch[1] that proceeds to deploy broken build is
still in place though.
[1]:
https://github.com/firebase/firebase-tools/pull/7395/files#diff-372d171b067c11f7dbdea434bc98b44c356278e71e0f1251758e4ca25517c0b8R637
|
#5691 introduced a 10s timeout for bundling next.config.js. This bundling uses
npx esbuild next.config.js
command and it may timeout for a variety of reasons (most likely, network-related).When this happens, the code fallbacks to copying next.config.js to the output. However, if next.config.js imports any other local file, copying next.config.js is not enough (as the other file needs to be copied as well).
This led to our CI silently deploying a broken build to production (sometimes) which then failed with hard to understand errors.
There are a couple of possible fixes, and I'm not sure which one is better:
esbuild
to firebase-tools' dependencies, so bundling does not depend on network speedcc @jamesdaniels @leoortizz
[REQUIRED] Environment info
firebase-tools: anything after e5981f2 (11.30.0+)
Platform: any
[REQUIRED] Test case
next.config.js:
other.js:
[REQUIRED] Steps to reproduce
rm -rf "$(npm config get cache)/_npx"
env FIREBASE_CLI_EXPERIMENTS=webframeworks firebase deploy
[REQUIRED] Expected behavior
It works
[REQUIRED] Actual behavior
SSR is deployed but fails at runtime.
Workaround
The simplest workaround is to add
esbuild
to your project's dependencies. This will causenpx
to use project-installed version, so it can't timeout due to networkThe text was updated successfully, but these errors were encountered: