Create DDEV and DrupalPod image setup for PHP/Drupal/template combinations
>>> [!note] Migrated issue
<!-- Drupal.org comment -->
<!-- Migrated from issue #3568043. -->
Reported by: [littlepixiez](https://www.drupal.org/user/2568718)
>>>
<h3>Problem/Motivation</h3>
<p>Testers of the AI module require multiple PHP and Drupal version combinations to support comprehensive testing across different environments:</p>
<ul>
<li>PHP 8.2 + Drupal Core 10.x</li>
<li>PHP 8.3 + Drupal Core 11.x</li>
<li>PHP 8.3 + Drupal CMS 11.x</li>
</ul>
<p>These images need to be available via Docker Hub for DrupalPod/DrupalForge usage.</p>
<h3>Proposed resolution</h3>
<p>Create three distinct Docker images, each optimised for specific PHP/Drupal/template combinations:</p>
<ul>
<li><code>php-8.2-core</code>: PHP 8.2 with Core template (supports Drupal 10.x)</li>
<li><code>php-8.3-core</code>: PHP 8.3 with Core template (supports Drupal 11.x)</li>
<li><code>php-8.3-cms</code>: PHP 8.3 with CMS template (supports Drupal CMS 11.x)</li>
</ul>
<p>Other combinations are likely worth exploring in the future (ie PHP 8.3 with Drupal 10).</p>
<h3>Remaining tasks</h3>
<ul>
<li>[x] Configure GitHub Actions workflow with matrix strategy</li>
<li>[ ] Test all three images with DrupalPod/DrupalForge</li>
<li>[x] Publish images to Docker Hub</li>
<li>[x] Test all three combinations with DDEV (using native PHP config)</li>
</ul>
<h3>API changes</h3>
<p>Adds <code>image_tag_suffix</code> to the GitHub Actions matrix which determines:</p>
<ul>
<li>The Docker image tag (e.g., <code>php-8.3-cms</code>)</li>
<li>The starter template selection (auto-detected from suffix)</li>
</ul>
<h3>Testing</h3>
<p><strong>DrupalPod/DrupalForge:</strong> Images tested in cloud environments to verify correct PHP versions, Drupal version constraints, and template selection.</p>
<p><strong>DDEV:</strong> All three PHP/Drupal/template combinations tested locally using DDEV's native PHP version configuration in <code>config.yaml</code>. Future enhancement could involve using custom Docker images with DDEV.</p>
> Related issue: [Issue #3568041](https://www.drupal.org/node/3568041)
issue