woodpecker-ci / woodpecker

Woodpecker is a simple, yet powerful CI/CD engine with great extensibility.
https://woodpecker-ci.org
Apache License 2.0
4.3k stars 370 forks source link

Distinguish to users the difference between stalled and pending workflows #4392

Open IvoWingelaar opened 5 days ago

IvoWingelaar commented 5 days ago

Clear and concise description of the problem

From a non-admin user's view, when I create a workflow with labels that do not match to any agents' configuration, the workflow will remain in a "pending" state indefinitely.

This means that a non-admin user cannot distinguish between the case where all agents are currently running other workflows, and it is sufficient to just be patient, and the case where no agents will ever be able to execute the workflow, and no amount of patience will ever be enough. This is a suboptimal user experience.

As an admin user, I at least can view the /admin#queue page and see a task in the queue with the labels required for the workflow, which is better, but still doesn't explain why the workflow is stalled. Even on admin#agents I cannot see the labels that are configured for the agents, so I either have to know about, or have to look at all of the configurations of the agent processes to determine the root cause.

Suggested solution

In the web interface, I would like for non-admin users to have feedback on the /repos/$x/pipeline/$y page explaining that a workflow is unschedulable if no agents have the appropriate filter(s) configured.

Additionally, this could also be displayed for unschedulable tasks in the /admin#queue page for admin users.

Alternative

No response

Additional context

No response

Validations