Description
Summary
I'm not really sure why this is happening, but when Node deps change, sometimes a task that does yarn install
will just run indefinitely and never finish inside of Kit.
Details
The ui-deps
task in Argo Workflows runs yarn install
and several times I have noticed it just run for many minutes, at which point I just Ctrl+C to kill it.
Then I run yarn install
manually outside of Kit, and it installs everything fine within 30s. When I run Kit again after the manual yarn install
, Kit will run fine.
yarn install
always runs something, but it basically no-ops when there's nothing to install.
Hypothesis
I have a feeling this may be because of the auto-updating progress indicator that Yarn has. Kit seems to not capture it properly in its logs, and so maybe it's failing to see it finish? I think this requires a TTY or something (I forget the exact terminology and shell semantics here, but similar to docker -t
. See also this SO Answer on shell output buffering)
Example
For example, in the below Kit run:
■ go-deps waiting waiting for mutex "downloads"
■ install waiting
■ build-cont waiting
■ port-forwa waiting [9000]
■ controller waiting [9090]
■ build-argo waiting
■ server waiting [2746]
■ ui-deps running warning " > [email protected]" has incorrect peer dependency "react-dom@>=17.0.0".
■ ui waiting [8080]
ui-deps
will have the same message indefinitely. Enabling debug logging with "4+Enter" shows no logs either.
That message is the last message before Yarn's installation progress indicator, which is a self-updating message (i.e. it does not output new lines, it continuously updates the same log line) of the form: ####------ 4/10
(but longer), where the percentage of hashes and the number represents progress.