Optimize `composer-lint`, `phpcs`, `stylelint` and `eslint` jobs
>>> [!note] Migrated issue
<!-- Drupal.org comment -->
<!-- Migrated from issue #3398716. -->
Reported by: [wim leers](https://www.drupal.org/user/99777)
Related to !76
>>>
<h3 id="summary-problem-motivation">Problem/Motivation</h3>
<p>Currently, <code>composer-lint</code> and <code>phpcs</code> do not define <code>needs</code>.</p>
<p>But <code>phpunit</code> (and the variants introduced by <span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-7"><a href="https://www.drupal.org/project/gitlab_templates/issues/3397129" title="Status: Closed (fixed)">#3397129: Allow modules to opt in to testing against Drupal previous major, previous minor, next minor</a></span> + <span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-7"><a href="https://www.drupal.org/project/gitlab_templates/issues/3396106" title="Status: Closed (fixed)">#3396106: Allow modules to opt in to testing against Drupal 11 even before they support it</a></span>) do define <code>needs</code>.</p>
<p>Consequence: those 2 jobs wait for <em>every</em> job in the <code>build</code> stage to complete instead of just the one they need (also as I am typing this, I realize that they're downloading the artifacts of ALL <code>composer*</code> jobs, which means the last one wins 😅).</p>
<h4 id="summary-steps-reproduce">Steps to reproduce</h4>
<h3 id="summary-proposed-resolution">Proposed resolution</h3>
<p>Use <code>needs</code> to be explicit (and faster in case of multiple jobs during the <code>build</code> stage).</p>
<h3 id="summary-remaining-tasks">Remaining tasks</h3>
<h3 id="summary-ui-changes">User interface changes</h3>
<h3 id="summary-api-changes">API changes</h3>
<h3 id="summary-data-model-changes">Data model changes</h3>
issue