Problem/Motivation

The project has no .gitlab-ci.yml, so no pipelines run on commits or merge requests. The module ships a sizeable PHPUnit suite (kernel and functional tests across the main module and its submodules), but it is only run locally. As a result:

  • Merge requests cannot be validated automatically before review.
  • Regressions against newer Drupal core minors, and against the next major (Drupal 12, see #3599939), are only caught by hand.
  • Coding standards (PHPCS), static analysis (PHPStan), spelling (cspell) and JS/CSS linting are not checked at all.

The project also has no CHANGELOG. Changes between 1.0.0-alpha1, 1.0.0-alpha2 and 1.0.0-alpha3 are only visible through the commit log and release notes, which makes it harder for site builders to judge the impact of an update during the alpha phase.

Steps to reproduce

  1. Open the project's GitLab repository and go to Build > Pipelines: no pipelines exist.
  2. Open any merge request: no test or lint results are shown.
  3. Look for a CHANGELOG file in the 1.0.x branch: none exists.

Proposed resolution

  1. Add a .gitlab-ci.yml based on the standard Drupal Association template (GitLab Templates), including include.drupalci.main.yml, include.drupalci.variables.yml and include.drupalci.workflows.yml.
  2. Enable testing against the next major version (OPT_IN_TEST_NEXT_MAJOR: 1) so Drupal 12 compatibility stays covered once #3599939 lands. Testing against the previous major is not needed, since the module requires Drupal ^11.2.
  3. Make sure the contrib dependencies (Geofield, Leaflet, Entity API) are resolvable in the CI build, adding a composer.json if the template needs one.
  4. Add a CHANGELOG.md in the Keep a Changelog format, with an Unreleased section and entries for 1.0.0-alpha1, 1.0.0-alpha2 and 1.0.0-alpha3 reconstructed from the git history.

The module currently has known PHPCS and PHPStan findings. To keep this issue focused, the lint jobs can start as allow_failure (or with a PHPStan baseline), and the findings can be fixed in follow-up issues. PHPUnit jobs should be required to pass from the start.

Remaining tasks

  • Add .gitlab-ci.yml and confirm the first pipeline runs on the 1.0.x branch.
  • Confirm all PHPUnit jobs pass on the current core version and on the next major.
  • Decide how to handle the existing PHPCS/PHPStan findings (allow failure, baseline, or fix here).
  • Add CHANGELOG.md covering all tagged releases.
  • Open follow-up issues for the lint findings.
  • Review and commit.

User interface changes

None.

API changes

None.

Data model changes

None.

Issue fork mapillary-3626937

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

orkutmuratyilmaz created an issue. See original summary.

orkutmuratyilmaz’s picture

Status: Active » 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.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.