Problem/Motivation
The GitLab CI configuration introduced by #3623285 exposes substantial pre-existing validation debt in Entity Activity.
The latest merge request pipeline reports:
- CSpell: 34 findings in 19 files, representing 15 distinct words.
- ESLint/Prettier: 327 initial errors, with 53 remaining after automatic fixes.
- PHPCS: 104 violations in 25 sources; 55 are automatically fixable.
- PHPStan on Drupal 10: 6 errors, including deprecated API usage, static service-container calls, and a missing return value.
- Stylelint/Prettier: 31 errors; 18 are automatically fixable.
The validation jobs are currently allowed to fail, so the pipeline completes with warnings even though these checks are not clean.
This cleanup should not be mixed into #3287201, which provides Drupal 10 compatibility, or #3623285, which introduces GitLab CI and migrates the existing tests. Keeping the work separate will make those merge requests easier to review and will give the future 2.x branch a clear lint baseline.
Dependencies
This issue is a child of #3623286.
It depends on:
- #3287201 being committed, providing the Drupal 10-compatible codebase;
- #3623285 being rebased and committed, providing the GitLab CI configuration and passing Drupal 10 PHPUnit tests;
- the 2.x branch being created from that completed revision;
- the separate Drupal 11 compatibility issue required by #3623286 being completed or coordinated with this work.
Proposed resolution
Create an issue branch from 2.x and:
- Configure the official Drupal GitLab templates to test the current Drupal major and the previous major. With Drupal 11 current, these are Drupal 11 and Drupal 10 respectively.
- Apply the generated ESLint, PHPCBF, and Stylelint automatic fixes, reviewing every resulting change.
- Fix the remaining JavaScript, YAML, PHP, CSS, and PHPStan findings manually.
- Correct genuine spelling mistakes and add only legitimate project names or technical terms to a project CSpell dictionary.
- Replace deprecated APIs and static service-container calls through the Drupal 11 compatibility work rather than suppressing those findings.
- Add project-specific lint configuration only where an exception is intentional and documented. Do not hide fixable violations with broad ignore rules or a blanket PHPStan baseline.
- Once the jobs are green, make validation failures blocking so future regressions fail the pipeline.
Mechanical formatting changes should be kept separate from semantic API changes where practical, making the merge request easier to review.
Remaining tasks
- [x] The work targets a 2.x issue branch created from the post-#3287201 and post-#3623285 baseline.
- [x] Composer installation passes for Drupal 11 current and Drupal 10 previous major.
- [x] PHPUnit passes on Drupal 11 current and Drupal 10 previous major.
- [x] CSpell, ESLint, PHPCS, and Stylelint complete without violations.
- [x] PHPStan passes on both Drupal 11 current and Drupal 10 previous major.
- [x] No lint job is skipped and no broad baseline hides unresolved violations.
- [x] Any intentional dictionary entries, exclusions, or rule overrides are minimal and documented.
- [x] Validation failures are made blocking after the baseline is clean.
- [x] The successful GitLab pipeline is linked from this issue before it is moved to Needs review.
User interface changes
None expected.
API changes
None expected from mechanical lint fixes. Any changes required for Drupal 11 compatibility must be documented in the separate Drupal 11 implementation issue.
Data model changes
None expected.
Comments
Comment #2
ivrh commentedComment #3
ivrh commentedImplemented in [GitLab merge request !13](https://git.drupalcode.org/project/entity_activity/-/merge_requests/13), targeting the `2.x` branch.
The merged-results pipeline is green: [pipeline #963323](https://git.drupalcode.org/project/entity_activity/-/pipelines/963323).
Verified results:
- CSpell, ESLint, PHPCS, PHPStan, Stylelint, and composer-lint all pass and are now blocking.
- PHPUnit passes in both document-root and `/web` subdirectory installations.
- The complete coverage job passes with 97.94% production PHP line coverage.
- Composer installation passes for the current template lane and Drupal 10 previous-major lane.
- No PHPStan baseline or broad lint suppressions were added; the CSpell dictionary and PHPCS suppression are narrowly scoped and documented.
The issue remains on `8.x-1.x-dev` because Drupal.org does not yet offer `2.x-dev` in the Version selector. Once a `2.x-dev` development release is published from the existing `2.x` branch, this issue can be reassigned to that version. A beta release is not required for issue assignment.
Comment #4
ivrh commentedMR [!13](https://git.drupalcode.org/project/entity_activity/-/merge_requests/13) has now merged into 2.x after [merge-train pipeline #963350](https://git.drupalcode.org/project/entity_activity/-/pipelines/963350) passed. The clean lint baseline is included in [2.0.0-beta1](https://www.drupal.org/project/entity_activity/releases/2.0.0-beta1), and this issue is now retargeted to 2.x-dev.
Comment #5
ivrh commentedMR !13 merged into 2.x at
f098819ea05c0ac8cfd74b293596f806a74a0ecaafter merge-train pipeline #963350 passed. The exact target-branch pipeline #963370 also passed./weblayouts.294ce4c0c17637a411214586a12679edbd485e91, with 845 tests and 97.96% coverage.The clean baseline shipped in 2.0.0-beta1 and is carried forward in 2.0.0-beta2. No work remains. Marking Fixed; version remains 2.x-dev.