Split job state "Pending" to more specific states
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
Description
A Pipeline or Job state "Pending" is not sufficiently informative. It can mean that a job is waiting for other jobs to finish or that it cannot be started because no runner matches its requirements, a runner is defined but has not contacted the server recently or some other situation that may require administrative intervention.
Proposal
Add at least one new state to cover more specific sub-states. Possible names would be Enqueued/Pending, Pending/Blocked or Pending/Stuck to differentiate between jobs that can be expected to move to another state simply by waiting and jobs that are likely to require some intervention, respectively.
At the moment, a message indicating why a job is stuck can be reached by three clicks from the project view, with no indication whether this information will be waiting. A new and distinct state will quickly indicate that there is something there. Preferably, the UI should also be modified to require fewer than 3 clicks.
This feature could be complemented by a more detailed report of candidate runners, their current status, the specific reason non-candidate runners have been eliminated. Additional useful information could include the last time the runner configuration was modified, the last time its has been restarted, the last runner(s) to successfully run this execute this job, changes to gitlab-ci relative to these times. This information could be used to quickly determine the most likely cause of the problem.
Links / references
Documentation blurb
Overview
What is it? Why should someone use this feature? What is the underlying (business) problem? How do you use this feature?
Use cases
Developer: After a regular push, know quickly whether you just need to wait or notify an administrator about a problem with runner setup. After modifying gitlab-ci, know more quickly whether you may have modified it in a way that makes it impossible to run.
Administrator: find runner setup problems more effectively.
Feature checklist
Make sure these are completed before closing the issue, with a link to the relevant commit.
-
Feature assurance -
Documentation -
Added to features.yml