Problem/Motivation

The Varbase Project Template runs its automated functional acceptance testing on CircleCI. Moving the tests to GitLab CI keeps the testing close to the code and makes builds easier to maintain.

Proposed resolution

Switch the CI from CircleCI to GitLab CI and run the automated functional acceptance testing there. Expand the coverage to include the contact webform and menus in Drupal Canvas.

Automated functional acceptance testing (already in place)

The suite drives the whole site through a real browser with Playwright + Cucumber-JS BDD (Gherkin .feature files), organised by area:

  • 01-website-base-requirements (8) — front-end pages warm-up, welcome tour, registration, roles, input formats, languages, front-end pages, default theme settings.
  • 02-user-management (7) — login, request new password, persistent login, login redirect, role assignment, create users, user protect.
  • 03-admin-pages (5) — admin pages, media usage, JSON:API, audit trail, media bulk upload.
  • 04-admin-users (3) — masquerade, disable users, admin keyboard navigation.
  • 05-content-pages (2) — utility page permissions, standard breadcrumbs.
  • 06-content-blog (2) — blog permissions, blog page.
  • 07-content-contact (3) — contact us page, Business Contact webform, Newsletter webform.
  • 08-content-homepage (1) — homepage.
  • 09-drupal-canvas (5) — Canvas pages permissions, Canvas editor, menus, Hero Cards, Hero Slider.
  • 10-content-permissions (3) — entityqueue, media library, easy internal linking.
  • 11-content-workflow (4) — workflows, scheduling, cloning, trash management.
  • 12-content-access-and-lock (2) — access unpublished, content lock.
  • 13-varbase-recipes (17) — base recipes: Admin, Users, Content, Page, Blog, Media, Editor, Security, SEO, Workflow, Performance, Webform, API, Auth, i18n, Dev.
  • 14-ai (8) — AI recipes: AI Base, AI Editor Assistant, AI Image Alt, AI Taxonomy Tagging, AI Context, AI Safety, AI Guardrails.
  • 15-quality (3) — editorial accessibility checker, accessibility (axe-core), performance budgets.

A ddev init-full-automated-testing command gives a deterministic environment: it installs Varbase, applies the base + AI recipes, seeds the per-role testing users, and prepares the site for scripted testing
(uninstall antibot, raise login flood ceilings, zero the Honeypot time trap, disable the floating AI chatbot widget that intercepts clicks, disable CSS/JS aggregation, verbose logging).


  • Review the GitLab CI and gitlab-ci-local pipelines.
  • Confirm the suite is green on a fresh build via ddev drush sql:drop; ddev init-full-automated-testing; ddev yarn test:chromium.

Merged changes

CI moved from CircleCI to GitLab CI, and the automated functional acceptance testing (Playwright + Cucumber-JS) was expanded:

  • !6, !7 — Business Contact and Newsletter webform coverage on Canvas pages.
  • !8 — Menus in Drupal Canvas, plus front-end pages coverage.
  • !9 — Hero Card on Canvas coverage, and an editor viewport fix.
  • !10 — Hero Slider on Canvas coverage.
  • !11 — Sticky header and default theme settings coverage, a performance budget, and a GitLab CI tweak.
  • !12 — Warm up front-end image derivatives before the health checks.

Remaining tasks

  • ✅ File an issue about this project
  • ✅ Addition/Change/Update/Fix to this project
  • ✅ Testing to ensure no regression
  • ➖ Automated unit/functional testing coverage
  • ➖ Developer Documentation support on feature change/addition
  • ➖ User Guide Documentation support on feature change/addition
  • ➖ UX/UI designer responsibilities
  • ➖ Accessibility and Readability
  • ✅ Code review from 1 Varbase core team member
  • ✅ Full testing and approval
  • ✅ Credit contributors
  • ✅ Review with the product owner
  • ✅ Update Release Notes
  • ✅ Release varbase_project-11.0.1, varbase-11.0.0-alpha3, varbase_starter-1.0.0-alpha2

User interface changes

  • N/A

API changes

  • N/A

Data model changes

  • N/A

Release notes snippet

  • ci: #3592934 Switch CI from CircleCI to GitLab CI and run the automated functional acceptance testing there
Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

rajab natshah created an issue. See original summary.

  • rajab natshah committed b39fc5cc on 11.0.x
    ci: #3592934 Switch CI from CircleCI to GitLab CI and run the automated...

  • rajab natshah committed 2bc0e35a on 11.0.x
    ci: #3592934 Switch CI from CircleCI to GitLab CI and run the automated...

  • rajab natshah committed cf6a9129 on 11.0.x
    ci: #3592934 Switch CI from CircleCI to GitLab CI and run the automated...

  • rajab natshah committed ab06d094 on 11.0.x
    ci: #3592934 Switch CI from CircleCI to GitLab CI and run the automated...

  • rajab natshah committed 10af4e25 on 11.0.x
    ci: #3592934 Switch CI from CircleCI to GitLab CI and run the automated...

  • rajab natshah committed d79cf64b on 11.0.x
    ci: #3592934 Switch CI from CircleCI to GitLab CI and run the automated...

  • rajab natshah committed f5f725cd on 11.0.x
    ci: #3592934 Switch CI from CircleCI to GitLab CI and run the automated...

  • rajab natshah committed 0c2fd940 on 11.0.x
    ci: #3592934 Switch CI from CircleCI to GitLab CI and run the automated...

  • rajab natshah committed 163f0c4f on 11.0.x
    ci: #3592934 Switch CI from CircleCI to GitLab CI and run the automated...

  • rajab natshah committed 6208c4a0 on 11.0.x
    ci: #3592934 Switch CI from CircleCI to GitLab CI and run the automated...

  • rajab natshah committed 96b97164 on 11.0.x
    ci: #3592934 Switch CI from CircleCI to GitLab CI and run the automated...

  • rajab natshah committed 1a00e97d on 11.0.x
    ci: #3592934 Switch CI from CircleCI to GitLab CI and run the automated...

  • rajab natshah committed 8fa19be4 on 11.0.x
    ci: #3592934 Switch CI from CircleCI to GitLab CI and run the automated...

  • rajab natshah committed 84f734ae on 11.0.x
    ci: #3592934 Switch CI from CircleCI to GitLab CI and run the automated...

  • rajab natshah committed 23bd0739 on 11.0.x
    ci: #3592934 Switch CI from CircleCI to GitLab CI and run the automated...

  • rajab natshah committed 8b4db9f1 on 11.0.x
    ci: #3592934 Switch CI from CircleCI to GitLab CI and run the automated...

  • rajab natshah committed b19fbc10 on 11.0.x
    ci: #3592934 Switch CI from CircleCI to GitLab CI and run the automated...

  • rajab natshah committed 39190902 on 11.0.x
    ci: #3592934 Switch CI from CircleCI to GitLab CI and run the automated...

  • rajab natshah committed 5f10dd55 on 11.0.x
    ci: #3592934 Switch CI from CircleCI to GitLab CI and run the automated...

  • rajab natshah committed c5cbe427 on 11.0.x
    ci: #3592934 Switch CI from CircleCI to GitLab CI and run the automated...

  • rajab natshah committed 427418a0 on 11.0.x
    ci: #3592934 Switch CI from CircleCI to GitLab CI and run the automated...

  • rajab natshah committed 3ded6f1a on 11.0.x
    ci: #3592934 Switch CI from CircleCI to GitLab CI and run the automated...

  • rajab natshah committed 3b53366e on 11.0.x
    ci: #3592934 Switch CI from CircleCI to GitLab CI and run the automated...

  • rajab natshah committed cc0865e8 on 11.0.x
    ci: #3592934 Switch CI from CircleCI to GitLab CI and run the automated...

  • rajab natshah committed cb4f7da8 on 11.0.x
    ci: #3592934 Switch CI from CircleCI to GitLab CI and run the automated...

  • rajab natshah committed 56aba4b9 on 11.0.x
    ci: #3592934 Switch CI from CircleCI to GitLab CI and run the automated...

  • rajab natshah committed 43f35bd5 on 11.0.x
    Issue #3592934: Expand 07-content-contact webform coverage on Canvas...

  • rajab natshah committed 69e88cb4 on 11.0.x
    Issue #3592934: Add 07-content-contact webform functional coverage
    

  • rajab natshah committed 09dc7c94 on 11.0.x
    Issue #3592934: Add menus-in-Drupal-Canvas functional coverage
    

rajab natshah’s picture

rajab natshah’s picture

Issue summary: View changes
rajab natshah’s picture

Assigned: rajab natshah » josebc
Status: Active » Needs review
rajab natshah’s picture

Status: Needs review » Active
rajab natshah’s picture

Assigned: josebc » Unassigned

  • rajab natshah committed ca7d8618 on 11.0.x
    Issue #3592934: Add Hero Card Canvas functional coverage and fix the...

rajab natshah’s picture

Issue summary: View changes
Issue tags: +varbase_starter-1.0.0-alpha2

rajab natshah’s picture

Issue summary: View changes

rajab natshah’s picture

Issue summary: View changes

  • rajab natshah committed ec4a473e on 11.0.x
    test: #3592934 Warm up front-end image derivatives before the health...
rajab natshah’s picture

Assigned: Unassigned » josebc
Status: Active » Needs review
rajab natshah’s picture

Assigned: josebc » mohammed j. razem
rajab natshah’s picture

Assigned: mohammed j. razem » Unassigned
Status: Needs review » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

rajab natshah’s picture

Issue summary: View changes

Updated the issue summary with a short list of the merged MRs (!6–!12).

rajab natshah’s picture

Issue summary: View changes

Updated the test coverage list to match the current tests/features folders (15 areas, with feature counts).

rajab natshah’s picture