Skip to content

ci: run phpunit concurrently on Drupal.org with gitlab_templates 1.17.0 - #44

Open
Decipher wants to merge 1 commit into
8.x-1.xfrom
feature/phpunit-concurrency
Open

Decipher wants to merge 1 commit into
8.x-1.xfrom
feature/phpunit-concurrency

Conversation

@Decipher

@Decipher Decipher commented Oct 6, 2026 •

Copy link
Copy Markdown
Owner

Problem

gitlab_templates 1.17.0 made _PHPUNIT_CONCURRENT: 1 the default on Drupal.org. The phpunit job now runs core's run-tests.sh instead of the phpunit binary.

When _RUNTESTS_EXTRA is blank, the template copies _PHPUNIT_EXTRA into it. Our --configuration=phpunit.gitlab-ci.xml becomes a relative --phpunit-configuration. run-tests.sh changes to web/ first, so the file is not found and the job stops before any test runs.

Change

  • Keep _PHPUNIT_EXTRA. The phpunit binary (_PHPUNIT_CONCURRENT: 0) loads phpunit.xml from the project root. That file is the scaffold config for local and GitHub runs. The flag points the binary at the DrupalCI config instead.
  • Add _RUNTESTS_EXTRA: '-'. The - stops the copy. run-tests.sh then uses core's phpunit.xml.dist, which is its default on both 11.4 and 10.6.
  • Drop _PHPUNIT_CONCURRENT: 0, which turned concurrency off. The job-level _PHPUNIT_EXTRA on phpunit (previous major) stays for runs without concurrency.

GitHub Actions does not read .gitlab-ci.yml or phpunit.gitlab-ci.xml. This PR confirms nothing here changes for it.

Same change as jsonapi_menu_items, tracked in https://git.drupalcode.org/project/jsonapi_menu_items/-/work_items/3591567.

Supersedes #39, which turned concurrency off.

Summary by CodeRabbit

  • Chores
    • Updated automated test pipeline settings to retain DrupalCI PHPUnit configuration and keep additional run-tests.sh arguments separate. The pipeline no longer forces PHPUnit binary selection through a concurrency override. These changes affect CI test execution only; application functionality is unchanged.

@coderabbitai

coderabbitai Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 5ac12bcb-656f-49b3-ad3f-303fd68e07ee
📥 Commits

Reviewing files that changed from the base of the PR and between bdfd640 and 1407ff2.

📒 Files selected for processing (1)
  • .gitlab-ci.yml

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The GitLab CI configuration retains the PHPUnit-specific configuration and sets _RUNTESTS_EXTRA to -. It no longer sets _PHPUNIT_CONCURRENT to 0.

Changes

CI test configuration

Layer / File(s) Summary
Separate PHPUnit and run-tests.sh options
.gitlab-ci.yml
The configuration retains phpunit.gitlab-ci.xml for the PHPUnit binary and sets _RUNTESTS_EXTRA to -. Comments distinguish the PHPUnit binary path from the default run-tests.sh path.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to 1407f

The reviewed configuration is consistent with the intended concurrent test path, and no material test failure was established. No merge-blocking risk is evidenced; proceed with normal CI checks.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly states the main change: enabling concurrent PHPUnit runs on Drupal.org with gitlab_templates 1.17.0.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codecov

codecov Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 84.82%. Comparing base (bdfd640) to head (1407ff2).

Additional details and impacted files
@@           Coverage Diff            @@
##           8.x-1.x      #44   +/-   ##
========================================
  Coverage    84.82%   84.82%           
========================================
  Files           21       21           
  Lines          850      850           
========================================
  Hits           721      721           
  Misses         129      129           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant