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 &#128517;).</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