Nested reusable workflows concurrency

Hi,

I have written a workflow “workflow_utility1” which is working perfectly fine.

So i was able to reuse it from a workflow named “workflow_sub1”, after adding the required “workflow_call” declarations.

Now I need to write some kind of meta-workflow named “workflow_meta” invoking several workflows like “workflow_sub1”, which are all independent and can be used separately.

I am experiencing something strange :

  • “workflow_meta” is launching “workflow_sub”, which at some point invokes “workflow_utility1”.

  • “workflow_utility1” is started, it is running in background (with a dedicated runner with a name like GITEA-ACTIONS-TASK-13517_WORKFLOW-…" ).

  • “workflow_sub1” immediately returns a green success status for this step, but “workflow_utility1” 's tasks are still running in background as it’s a long lasting process (Docker image building after sources compilation).

  • I am relying on outputs coming from “workflow_utility1”, their values are empty in “workflow_meta” as long as the workflow is running and they have not been defined, which leads to problems.

  • No errors are reported.

  • But after “workflow_utility1” completion, I can re-run the steps requiring outputs in “workflow_meta”, and this time I get the expected outputs.

Is there a way to “sync” nested workflows execution, so “workflow_sub1” stays in a running state until “workflow_utility1” is over ?

I don’t know how to name this concept, so I have not been able to find a solution so far.

Thanks for any help.

Regards