Fail jobs if its dependency is missing

What does this MR do?

This MR fails jobs if its dependency is missing.

Old MR: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/13922

This MR is on top of https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/13937

Are there points in the code the reviewer needs to double check?

Doesn't this break current architecture?

Why was this MR needed?

Originally issued at https://gitlab.com/gitlab-org/gitlab-ce/issues/34834 as Deliverable

Screenshots (if relevant)

TBD

Does this MR meet the acceptance criteria?

What are the relevant issue numbers?

Close https://gitlab.com/gitlab-org/gitlab-ce/issues/34834

/cc @ayufan

Edited by Shinya Maeda