Fix parallel jobs dropdown from cutting off in the pipeline graph
Summary
When on the pipeline graph page where we can see every job, there might be instances where the dropdown that list all of the parallel jobs gets cut off at the bottom. This is because the dropdown html element is inside the pipeline graph container, but the container might be to small to render the full dropdown.
Steps to reproduce
- Create a yml file with a single job that is divided in multiple parallel job (10+ for very easy reproduction)
- Run any pipeline
- Go to
/pipelines/$ID
by clicking on the pipeline ID (You should be seeing the pipeline graph) - Click on the job to expand all of its parallel tasks.
- Notice that the dropdown does out of bound and is cut off.
Example Project
https://gitlab.com/jyavorska/testci/-/pipelines/170008449
What is the current bug behavior?
The dropdown is cut off
What is the expected correct behavior?
Show the full dropdown no matter the size of the pipeline container
Relevant logs and/or screenshots
Output of checks
This bug happens on GitLab.com
Results of GitLab environment info
Expand for output related to GitLab environment info
(For installations with omnibus-gitlab package run and paste the output of: `sudo gitlab-rake gitlab:env:info`) (For installations from source run and paste the output of: `sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production`)
Results of GitLab application Check
Expand for output related to the GitLab application check
(For installations with omnibus-gitlab package run and paste the output of:
sudo gitlab-rake gitlab:check SANITIZE=true
)(For installations from source run and paste the output of:
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production SANITIZE=true
)(we will only investigate if the tests are passing)
Possible fixes
On line 127, we define the pipeline graph container, and the dropdown is inside this container. We should make it so that the dropdown doesn't render in the container (and is therefore nor tied in to its height) or have the minimum height of the container equal the height of the job list, though this is a bit more flaky and complex.