CI: Add `lint (OpenAPI)` for automated spec validation to improve MR review velocity
>>> [!note] Migrated issue
<!-- Drupal.org comment -->
<!-- Migrated from issue #3546348. -->
Reported by: [wim leers](https://www.drupal.org/user/99777)
Related to !67 !66
>>>
<h3 id="overview">Overview</h3>
<p>We have <code>\Drupal\Tests\canvas\Unit\OpenApiSpecValidationTest</code> to ensure <code>/openapi.yml</code> is valid.</p>
<p>But <a href="https://editor-next.swagger.io/">https://editor-next.swagger.io/</a> keeps showing a whole range of validation errors that that is not catching. 😭</p>
<p>This came up once again in <span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/canvas/-/work_items/3530058" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/canvas/-/work_items/3530058</a></span>'s MR: <a href="https://git.drupalcode.org/project/canvas/-/merge_requests/13#note_586333">https://git.drupalcode.org/project/canvas/-/merge_requests/13#note_586333</a></p>
<h3 id="proposed-resolution">Proposed resolution</h3>
<ol>
<li>Update the OpenAPI library we use — <code>devizzent/cebe-php-openapi</code> from the current version (<code>^1.0.3</code>, January 2024) to the latest (<code>^1.1.4</code>, January 2025).
</li><li>Add new CI job that uses a more thorough OpenAPI spec validation tool. After trial & error, picked <a href="https://redocly.com/docs/cli">https://redocly.com/docs/cli</a>
</li></ol>
<h3 id="ui-changes">User interface changes</h3>
<p>None.</p>
> Related issue: [Issue #3450308](https://www.drupal.org/node/3450308)
issue