chore: #3637005 Make the GitLab CI jobs pass

Closes https://www.drupal.org/project/earkiv/issues/3637005

One commit per job.

Commits

  1. phpcs: exclude gitlab_templates_version.txt, which the pipeline creates, in phpcs.xml.dist.
  2. ESLint: config/install/earkiv.settings.yml was empty (yml/no-empty-document). It now has the HTTrack archiver and the local storage with their default settings (8 connections, sitemap and published content off, directory earkiv). The URL is left out, so that the form suggests the address of the site. The values pass the configuration schema. Existing sites are not affected.
  3. cspell: .cspell-project-words.txt with the words of the module (arkiv, earkiv, httrack, rrule, dtstart, byday and so on).
  4. phpstan: services injected instead of \Drupal calls in ArchiveListBuilder (file_url_generator), HTTrackCommands (language_manager, extension.list.module), LocalStorage (stream_wrapper_manager for the private file system check) and both plugins (the container, to create their Drush commands). getDefaultOperations() gets the $cacheability parameter added in Drupal 11.3. The optional Filter module on the help page keeps its \Drupal call with a @phpstan-ignore.

Testing

  • phpcs with phpcs.xml.dist: no findings.
  • phpstan with the phpstan.neon of gitlab_templates, run locally: 11 errors before, none after. The two deprecations of annotation discovery in the plugin managers, reported by the newer phpstan-drupal in CI, are left for the Drupal 12 issue.
  • The status report, archive list (including the download link), settings page, archive form and help page work; the error notice gets the site language, the manifest the module version, and both plugins create their Drush commands. A job whose start page returns 404 runs through and fails as expected.

AI-Generated: Yes (Used Claude Code to fix the CI findings, test the module and write this merge request.)

Merge request reports

Loading
Loading