Add `runner_unsupported` CI failure
What does this MR do?
Needed by https://gitlab.com/gitlab-org/gitlab-ce/issues/45318.
We gonna introduce features in GitLab that do require latest runner to be used. We have to figure out a way to send to the user a message that the feature being used is not supported by your Runner, please upgrade it.
This does that by introducing runtime error: runner_unsupported
as failure_reason
of Ci::Build
.
When job is being picked by runner, we fail the job with the failure that runner used is unsupported.
We cannot really prevent this job to be skipped by runner, as the features of runner are sent only when CI picking,
and this would conflict with a lot of other features like: detecting stuck jobs, we simply don't have that information.
As long as this is a little bad from UX perspective, it is voicey and visible to the user that actions has to be taken. This only affects new features, it does not affect old ones.
The first usage of that gonna be JUnit reports:
- You need a supported runner that can send junit reports,
- You need a GitLab version that can ask for these reports,
- We will simply require to use junit to have Runner 11.2 with GitLab 11.2.
Does this MR meet the acceptance criteria?
-
Changelog entry added, if necessary -
Tests added for this feature/bug - Conform to the code review guidelines
-
Has been reviewed by a UX Designer -
Has been reviewed by a Backend maintainer
-
-
Conforms to the merge request performance guidelines -
Conforms to the style guides -
Conform to the database guides -
If you have multiple commits, please combine them into a few logically organized commits by squashing them -
Internationalization required/considered -
End-to-end tests pass ( package-and-qa
manual pipeline job)
What are the relevant issue numbers?
Related to https://gitlab.com/gitlab-org/gitlab-ce/issues/45318#note_87333942.