"Play all manual" button should only appear for stages with "playable" jobs
Context
The Play all button currently appears when stages have multiple manual jobs (see stage 2 below). This works as expected, and it starts those manual jobs.
BUT, the button also appears when stages have only skipped jobs (see stage 4 below). This does nothing, as those jobs are not "playable" (runnable):
-
Example pipeline: https://gitlab.com/gitlab-org/technical-writing-group/marcel-test-project/-/pipelines/966629122
Screenshot:
Proposed solution
We need to keep this button for the "green" example, as it is important for users who prefer to have a manual action for deployments, but also have many deployments in a single stage. For example, one button could trigger multiple jobs that release versions for multiple linux distributions at the same time.
One idea, that might work but must be re-evaluated from engineers, from !93809 (comment 1050107488):
We can change the way
manual_playable?
works. Why not it checks every job in it forplayable?
and return the sum result? Of course, we must not introduce an N+1 queries.