-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
readyWhen option of run-commands executor silently ending tasks #27986
Comments
for the local target,
the commands are now an array of commands. so if one command hits the readyWhen condition, it will be resolved; if the other one does not meet the condition, it will keep running. if you want both commands to be resolved, you can change readyWhen to be an array:
when the output of each command meets ANY readyWhen condition, it will be resolved. Bonus Qs:
i don't think so, but I think you can specify the --output-style option: https://nx.dev/nx-api/nx/documents/run-many#options. maybe try to run
I don't think it is possible.
Because the commands are independent of each other, serve command is not cached, so I don't think Nx knows which app is being served and which is not. |
Thank you for the detailed and helpful response @xiongemi 💯
Thanks! I think this meets our CI requirements, since I don't mind leaving NX processes hanging so long as our task runner (BitBucket) knows the CI job or step is done based on the exit code of the NX
I'll look into this thanks, I might just need to set the output style to static and pipe it to a local text file instead so I can isolate the log streams, requirement is more about log observability than split terminals.
Okay good to know, I think I'll just take a naive approach here and set the common apps to use a static port and use nx to call a shell script which checks if the port is in use, and conditionally spin up the common modules that way. Open to suggestions if there's a more NX way of doing this. |
Current Behavior
I have some core tasks that need to be run before running specs. I am using the
dependsOn
andreadyWhen
options with the aim of:Here's the config:
The nx pipeline correctly waits for the "Starting Offline SQS" string to appear, but then it seemingly just kills both the SQS and API when the
serve
task begins.Expected Behavior
When I run the needed tasks in a single command like so:
Then it works fine and I can continue to run tests. Am I missing something obvious here? Is
readyWhen
designed to end a child process when it matches on the string? If so that is a bit unexpected (still learning the NX way of things, apologies if I'm out of step here).The behaviour I'm looking for is to always run the 1st task (
local
which serves the backend and API) and then execute the 2nd configurable task (serve:sales
orserve:holiday-letting
).Bonus Qs:
serve:holiday-letting
from the NX console and also runserve:sales
in another terminal, will the 2nd task see that there is already a running backend and API and know not to spin up an extra one?Thanks for your time and patience in this matter peeps, so far love the work 🚀
GitHub Repo
No response
Steps to Reproduce
Provided config demonstrates how to reproduce issue.
Nx Report
Failure Logs
No response
Package Manager Version
No response
Operating System
Additional Information
No response
The text was updated successfully, but these errors were encountered: