Skip to content

ci: hold _PHPUNIT_CONCURRENT at 0 for gitlab_templates 1.17.0 - #39

Merged
Decipher merged 1 commit into
8.x-1.xfrom
feature/gitlab-templates-1.17.0-phpunit
Sep 11, 2026
Merged

ci: hold _PHPUNIT_CONCURRENT at 0 for gitlab_templates 1.17.0#39
Decipher merged 1 commit into
8.x-1.xfrom
feature/gitlab-templates-1.17.0-phpunit

Conversation

@Decipher

@Decipher Decipher commented Sep 11, 2026

Copy link
Copy Markdown
Owner

Problem

Drupal.org's GitLab CI templates changed the default for _PHPUNIT_CONCURRENT from 0 to 1 in gitlab_templates 1.17.0, released on 9 September (https://www.drupal.org/node/3620894). The phpunit job now runs core's run-tests.sh instead of the phpunit binary.

This module passes its CI configuration as --configuration=phpunit.gitlab-ci.xml in _PHPUNIT_EXTRA. The template copies that into _RUNTESTS_EXTRA as --phpunit-configuration phpunit.gitlab-ci.xml. run-tests.sh changes directory into the Drupal root and hands the relative path straight to PHPUnit, which then looks for web/phpunit.gitlab-ci.xml. The file is in the project root, so the job stops before any test runs:

PHPUnit\Util\Xml\XmlException: Could not read XML from file "phpunit.gitlab-ci.xml"
Exiting with EXIT_CODE=3

Drupal 10's run-tests.sh has no --phpunit-configuration option at all, so the Drupal 10 jobs would fail as well.

Fix

.gitlab-ci.yml sets _PHPUNIT_CONCURRENT: 0. The phpunit job runs the phpunit binary from the project root again, as it did before 9 September.

Proof

On https://git.drupalcode.org/project/filefield_paths/-/merge_requests/80, pipeline 956957 failed in phpunit with the error above (https://git.drupalcode.org/project/filefield_paths/-/jobs/12125579). With this commit added on top, pipeline 956994 passed (https://git.drupalcode.org/project/filefield_paths/-/jobs/12126314). That job ran with _PHPUNIT_CONCURRENT=0, loaded /builds/project/filefield_paths/phpunit.gitlab-ci.xml and ran 177 tests. Every other job passed in both pipelines. The commit came off that merge request again afterwards.

Moving to run-tests.sh on purpose, with an absolute configuration path, is a separate decision.

Summary by CodeRabbit

  • Chores
    • Updated pipeline configuration to preserve the PHPUnit test runner and align with the latest CI template behavior.

@coderabbitai

coderabbitai Bot commented Sep 11, 2026

Copy link
Copy Markdown

Review Change StackReview 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: 33d907f3-4a94-44d9-a630-395608a9c6ac

📥 Commits

Reviewing files that changed from the base of the PR and between 2da2b04 and e0e2b45.

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

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


📝 Walkthrough

Walkthrough

The GitLab CI configuration adds _PHPUNIT_CONCURRENT: 0. A comment documents the gitlab_templates 1.17.0 behavior and retains the PHPUnit binary.

Changes

CI test configuration

Layer / File(s) Summary
Preserve PHPUnit binary
.gitlab-ci.yml
Adds _PHPUNIT_CONCURRENT: 0 to the pipeline variables and documents why the PHPUnit binary must remain available.

Priority: ⬇️ Low

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

Change: Bug fix

Merge Risk: ⚪ Minimal · up to e0e2b

The change preserves the existing PHPUnit execution path without introducing an actionable merge risk.

🚥 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 and concisely describes the main change: setting _PHPUNIT_CONCURRENT to 0 for compatibility 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)
  • Create PR with unit tests
  • Commit unit tests in branch feature/gitlab-templates-1.17.0-phpunit

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 Sep 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.66%. Comparing base (2da2b04) to head (e0e2b45).

Additional details and impacted files
@@           Coverage Diff            @@
##           8.x-1.x      #39   +/-   ##
========================================
  Coverage    83.66%   83.66%           
========================================
  Files           20       20           
  Lines          796      796           
========================================
  Hits           666      666           
  Misses         130      130           

☔ 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.

@Decipher
Decipher merged commit 7537322 into 8.x-1.x Sep 11, 2026
11 checks passed
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