gitlab-ci: Describe full job dependency DAG using needs:
The main benefits are that jobs from a later stage can run before all jobs from the previous stage have finished, or even if some of them have been cancelled, as long as their dependencies are met.