Properly process all needs
What does this MR do?
Properly process needs:
with when:
Currently, some of the jobs with needs:
would be processed in stages, it means
that when:
for such jobs would not be
respected.
This changes the behaviour to have a separate
execution paths for jobs with needs:
.
Example
build-a:
stage: build
script: sleep 60s
build-b:
stage: build
script: false
notify-a:
stage: deploy
needs: [build-a]
when: on_failure
- The
notify-a
will be wrongly executed, even thoughbuild-a
did finish. - The
notify-a
should be skipped in such case.
References
Resolve https://gitlab.com/gitlab-org/gitlab-ce/issues/65488
Related https://gitlab.com/gitlab-org/gitlab-ce/issues/65457 https://gitlab.com/gitlab-org/gitlab-ce/issues/65486
Does this MR meet the acceptance criteria?
Conformity
Edited by Kamil Trzciński (Back 2025-01-01)