Waiting for unlimited numbers of signals?

An example scenario: A workflow to store all the comments and actions (labeling for example) of a GitHub issue. Finally when GitHub issue closed then workflow stopped.

I guess we have more than one way to implement the workflow. But I’m thinking that comments and labeling can be 2 separate signals. And for sure “closed” will be a signal too.

The question is how to keep listening on the signal until it closed?

Or maybe any better way to implement that?

A workflow completes when its function returns. So don’t return the workflow function until the “closed” signal is received and all other signals are processed.