Using GitLab CI instead of Drupal CI
>>> [!note] Migrated issue
<!-- Drupal.org comment -->
<!-- Migrated from issue #3261803. -->
Reported by: [irinaz](https://www.drupal.org/user/225592)
>>>
<div class="note-tip">
<p>Review the <a href="https://www.drupal.org/docs/develop/git/using-gitlab-to-contribute-to-drupal/gitlab-ci">documentation page on GitLab CI</a> to get started.</p>
<p>If you have questions or feedback, join us in the <code>#gitlab</code> channel on <a href="https://www.drupal.org/community/contributor-guide/reference-information/talk/tools/slack">Drupal Slack</a>.</p>
</div>
<!--break--><h3 id="summary-problem-motivation">General Availability of GitLab CI</h3>
<h4>Roadmap</h4>
<p><strong>Blockers</strong></p>
<ul>
<li><s><a href="https://www.drupal.org/project/infrastructure/issues/3265092">Make a .gitlab-ci,yml template</a> which can be centrally managed and updated: <a href="https://git.drupalcode.org/project/gitlab_templates/-/blob/1.0.x/gitlab-ci/template.gitlab-ci.yml">https://git.drupalcode.org/project/gitlab_templates/-/blob/1.0.x/gitlab-ci/template.gitlab-ci.yml</a></s></li>
<li><s>Complete initial configuration of the template to cover all job types currently handled by DrupalCI </s></li>
<li><s>Configure testing for modern Drupal contrib<s></s></s></li>
<li><s>Test GitLabCI with a small initial group of opted-in projects</s></li>
<li><s>Update the GitLabCI Runner infrastructure to have appropriate autoscaling configuration</s></li>
<li><del>Bulk update projects to enable GitLab CI (DrupalCI will remain in parallel)</del></li>
</ul>
<p><strong>Major follow-ups</strong><br>
Test Support</p>
<ul>
<li><a href="https://git.drupalcode.org/project/gitlab_ci_testbed_for_drupal_core/">Support testing for modern Drupal core</a>, and optimize to run in a timeframe similar to DrupalCI today</li>
<li><a href="https://www.drupal.org/project/gitlab_templates/issues/3343810">Support testing for legacy Drupal 7 core</a></li>
<li>Support testing for legacy Drupal 7 contrib</li>
</ul>
<p>Variables include file: </p>
<ul>
<li><del>Review the <a href="https://git.drupalcode.org/project/gitlab_templates/-/merge_requests/23">variables include file</a> to make sure that it is up to date with the current environment requirements of Drupal</del></li>
<li>Set a schedule to review the variables include file for any changes in new releases (or just policy changes) </li>
</ul>
<p>Workflow include file: </p>
<ul>
<li>Configure workflow rules so that we <a href="https://www.drupal.org/project/gitlab_templates/issues/3361330">test all release branches, not just the default branch</a></li>
<li>Configure workflow rules so that we <a href="https://www.drupal.org/project/infrastructure/issues/3361106">do not run automated tests in forks</a>, just manually triggered and MR tests</li>
</ul>
<p>Infra & Maintenance</p>
<ul>
<li>Set up some temporary limits to protect GitLab CI from overuse</li>
<li>Set up usage monitoring and alerting for individual project CI usage</li>
</ul>
<h4>Limitations of GitLab CI</h4>
<ul>
<li> Unlike Drupal CI, results of GitLab CI are not posted on issues on Drupal.org. GitLab makes results available on the merge request page.
</li>
<li>Templates or Drupal-specific configurations are work in progress. E.g. Drupal 7 support is not yet ready and will be worked on in <span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/gitlab_templates/-/issues/3343810" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/gitlab_templates/-/issues/3343810</a></span>. We appreciate your feedback via Drupal Slack or or issues/MRs for the <a href="https://www.drupal.org/project/gitlab_templates">GitLab Templates</a> project.
</li>
</ul>
<h4 id="projects">Projects that are opted in</h4>
<ul>
<li><a href="https://www.drupal.org/project/gatsby ">https://www.drupal.org/project/gatsby </a> </li>
<li><a href="https://www.drupal.org/project/jsonapi_search_api">https://www.drupal.org/project/jsonapi_search_api</a> </li>
<li><a href="https://www.drupal.org/project/simple_oauth">https://www.drupal.org/project/simple_oauth</a> </li>
<li><a href="https://www.drupal.org/project/decoupled_menus_initiative">https://www.drupal.org/project/decoupled_menus_initiative</a> </li>
<li><a href="https://www.drupal.org/project/views_filters_summary">https://www.drupal.org/project/views_filters_summary</a> </li>
<li><a href="https://www.drupal.org/project/search_api_opensearch">https://www.drupal.org/project/search_api_opensearch</a> </li>
<li><a href="https://www.drupal.org/project/drupalpod">https://www.drupal.org/project/drupalpod</a> </li>
<li><a href="https://www.drupal.org/project/media_vimeo_domain_privacy">https://www.drupal.org/project/media_vimeo_domain_privacy</a> </li>
<li><a href="https://www.drupal.org/project/section_purge">https://www.drupal.org/project/section_purge</a> </li>
<li><a href="https://www.drupal.org/project/project_browser">https://www.drupal.org/project/project_browser</a> </li>
<li><a href="https://www.drupal.org/project/keycdn">https://www.drupal.org/project/keycdn</a></li>
<li><a href="https://www.drupal.org/project/upgrade_status">https://www.drupal.org/project/upgrade_status</a> </li>
<li><a href="https://www.drupal.org/project/gin">https://www.drupal.org/project/gin</a> </li>
<li><a href="https://www.drupal.org/project/date_recur">https://www.drupal.org/project/date_recur</a> </li>
<li><a href="https://www.drupal.org/project/scheduled_transitions">https://www.drupal.org/project/scheduled_transitions</a> </li>
<li><a href="https://www.drupal.org/project/hux">https://www.drupal.org/project/hux</a> </li>
<li><a href="https://www.drupal.org/project/eca">https://www.drupal.org/project/eca</a></li>
<li><a href="https://www.drupal.org/project/bpmn_io">https://www.drupal.org/project/bpmn_io</a></li>
<li><a href="https://www.drupal.org/project/feeds">https://www.drupal.org/project/feeds</a> </li>
<li><a href="https://www.drupal.org/project/automatic_updates">https://www.drupal.org/project/automatic_updates</a></li>
<li><a href="https://www.drupal.org/project/select2">https://www.drupal.org/project/select2</a></li>
<li><a href="https://www.drupal.org/project/gin_toolbar">https://www.drupal.org/project/gin_toolbar</a></li>
<li><a href="https://www.drupal.org/project/gin_login">https://www.drupal.org/project/gin_login</a></li>
<li><a href="https://www.drupal.org/project/cdn">https://www.drupal.org/project/cdn</a></li>
<li><a href="https://www.drupal.org/project/editoria11y">https://www.drupal.org/project/editoria11y</a></li>
<li><a href="https://www.drupal.org/project/webform_civicrm">https://www.drupal.org/project/webform_civicrm</a></li>
<li><a href="https://www.drupal.org/project/synlang">https://www.drupal.org/project/synlang</a></li>
<li><a href="https://www.drupal.org/project/omdb_api">https://www.drupal.org/project/omdb_api</a></li>
<li><a href="https://www.drupal.org/project/anu_lms">https://www.drupal.org/project/anu_lms</a></li>
<li><a href="https://www.drupal.org/project/migrate_visualize">https://www.drupal.org/project/migrate_visualize</a></li>
<li><a href="https://www.drupal.org/project/advancedform">https://www.drupal.org/project/advancedform</a></li>
<li><a href="https://www.drupal.org/project/file_delete">https://www.drupal.org/project/file_delete</a></li>
<li><a href="https://www.drupal.org/project/file_extractor">https://www.drupal.org/project/file_extractor</a></li>
<li><a href="https://www.drupal.org/project/webprofiler">https://www.drupal.org/project/webprofiler</a></li>
<li><a href="https://www.drupal.org/project/lightning_core">https://www.drupal.org/project/lightning_core</a></li>
<li><a href="https://www.drupal.org/project/lightning_api">https://www.drupal.org/project/lightning_api</a></li>
<li><a href="https://www.drupal.org/project/lightning_media">https://www.drupal.org/project/lightning_media</a></li>
<li><a href="https://www.drupal.org/project/lightning_workflow">https://www.drupal.org/project/lightning_workflow</a></li>
<li><a href="https://www.drupal.org/project/lightning_layout">https://www.drupal.org/project/lightning_layout</a></li>
<li><a href="https://www.drupal.org/project/material_base">https://www.drupal.org/project/material_base</a></li>
<li><a href="https://www.drupal.org/project/paragraphs_features">https://www.drupal.org/project/paragraphs_features</a></li>
<li><a href="https://www.drupal.org/project/yoast_seo">https://www.drupal.org/project/yoast_seo</a></li>
<li><a href="https://www.drupal.org/project/geolocation">https://www.drupal.org/project/geolocation</a></li>
<li><a href="https://www.drupal.org/project/localgov">https://www.drupal.org/project/localgov</a></li>
<li><a href="https://www.drupal.org/project/localgov_microsites">https://www.drupal.org/project/localgov_microsites</a></li>
<li><a href="https://www.drupal.org/project/simplesamlphp_auth">https://www.drupal.org/project/simplesamlphp_auth</a></li>
<li><a href="https://www.drupal.org/project/redis">https://www.drupal.org/project/redis</a></li>
<li><a href="https://www.drupal.org/project/examples">https://www.drupal.org/project/examples</a></li>
<li><a href="https://www.drupal.org/project/vault">https://www.drupal.org/project/vault</a></li>
<li><a href="https://www.drupal.org/project/vault_auth_approle">https://www.drupal.org/project/vault_auth_approle</a></li>
<li><a href="https://www.drupal.org/project/vault_key_aws">https://www.drupal.org/project/vault_key_aws</a></li>
<li><a href="https://www.drupal.org/project/vault_key_kv">https://www.drupal.org/project/vault_key_kv</a></li>
<li><a href="https://www.drupal.org/project/vault_auth_token">https://www.drupal.org/project/vault_auth_token</a></li>
<li><a href="https://www.drupal.org/project/encrypt_vault_transit">https://www.drupal.org/project/encrypt_vault_transit</a></li>
<li><a href="https://www.drupal.org/project/akamai">https://www.drupal.org/project/akamai</a></li>
<li><a href="https://www.drupal.org/project/cache_metrics">https://www.drupal.org/project/cache_metrics</a></li>
<li><a href="https://www.drupal.org/project/commerce_availability_notification">https://www.drupal.org/project/commerce_availability_notification</a></li>
<li><a href="https://www.drupal.org/project/commerce_logistra">https://www.drupal.org/project/commerce_logistra</a></li>
<li><a href="https://www.drupal.org/project/commerce_item_discount_ui">https://www.drupal.org/project/commerce_item_discount_ui</a></li>
<li><a href="https://www.drupal.org/project/commerce_vipps">https://www.drupal.org/project/commerce_vipps</a></li>
<li><a href="https://www.drupal.org/project/scheduler">https://www.drupal.org/project/scheduler</a></li>
<li><a href="https://www.drupal.org/project/youtube">https://www.drupal.org/project/youtube</a></li>
<li><a href="https://www.drupal.org/project/entitygroupfield">https://www.drupal.org/project/entitygroupfield</a></li>
<li><a href="https://www.drupal.org/project/graphql_core_schema">https://www.drupal.org/project/graphql_core_schema</a></li>
<li><a href="https://www.drupal.org/project/search_api_solr">https://www.drupal.org/project/search_api_solr</a></li>
<li><a href="https://www.drupal.org/project/distributions_recipes">https://www.drupal.org/project/distributions_recipes</a></li>
</ul>
<p>We are currently accepting new projects for opt-in.</p>
issue