Grouped Jobs in CI Pipeline
Description
As described by customer:
I have a pipeline that has a bunch of jobs per stage. Each job is running commands on a different directory in my project, for example:
. ├── .gitlab-ci.yml ├── directoryA │ ├── subdirectoryA │ └── subdirectoryB └── directoryB ├── subdirectoryA └── subdirectoryB
(hopefully the email doesnt screw up that formatting)
As a result I have my Gitlab CI file setup roughly as follows:
stages:
- stage1
- stage2
directoryA:subdirectoryA:stage1: stage: stage1
directoryA:subdirectoryA:stage2: stage: stage2
directoryA:subdirectoryB:stage1: stage: stage1
directoryA:subdirectoryB:stage2: stage: stage2
directoryB:subdirectoryA:stage1: stage: stage1
directoryB:subdirectoryA:stage2: stage: stage2
directoryB:subdirectoryB:stage1: stage: stage1
directoryB:subdirectoryB:stage2: stage: stage2
And the resulting pipeline looks like this:
As you can see its very difficult to differentiate which jobs are which in that list. I have to mouse over each job to view the full name in a tooltip. It would be great if we could not truncate job names, especially if multiple job names end up getting truncated to an identical string.
Additionally, it would be awesome if there was a character separator in a job name that allowed for job grouping (a colon in this example). That way each stage would have a grouping of jobs similar to the directory structure itself. If two jobs are in the same stage and have identical strings within the substring before the first colon, they'll be collapsed into the same group. That way the UI would look something like:
Stage1 directoryA ├── subdirectoryA:stage1 └── subdirectoryB:stage1 directoryB ├── subdirectoryA:stage1 └── subdirectoryB:stage1
(and an equivalent for stage2)
The directory is stripped off the job names and rolled up into a group that contains all its jobs. You'd only do this if multiple jobs of the same stage had the same substring before the first colon.
Hopefully this makes sense. Does this sound reasonable to you? I couldn't find an existing issue although there are many terms that could describe this feature.
Proposal
Either / or
- Better solution for truncating of job names on the pipelines page to make it easier to differentiate between them.
- Use a separator that will collapse into a group if the values match