You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adds matomo6_min_php and matomo6_max_php aliases, resolving to PHP 8.1 (the Matomo 6 minimum) and PHP 8.5, alongside the existing matomo5_* aliases. Plugin repositories' Matomo 6 branches can then switch their test matrices with a mechanical matomo5_ → matomo6_ rename while the supported PHP range stays centrally managed here, matching how the Matomo 5 aliases are used today. First consumer is the ActivityLog Matomo 6 branch (PG-5380).
Checklist
[✔] I have understood, reviewed, and tested all AI outputs before use
[✔] All AI instructions respect security, IP, and privacy rules
Potential edge cases thought about (behaviour of the code with strange input, with strange internal state or possible interactions with other Matomo subsystems)
Usability review done (is anything maybe unclear or think about anything that would cause people to reach out to support)
@matomo-org/core-reviewers @matomo-org/plugin-reviewers @matomo-org/innovation-reviewers
Before we roll this out to all plugin repos for Matomo 6, I'd like feedback on where PHP versions should live long-term — this PR unblocks the ActivityLog pilot either way, but the fleet-wide sweep should land on the pattern we actually want to maintain.
A few observations from preparing the pilot:
The alias table is a third copy of the truth: core already declares its PHP floor (core/testMinimumPhpVersion.php / composer.json), and generate:test-action has its own LATEST_PHP_VERSION and emits concrete versions rather than aliases. These copies already drift — the fleet's workflows use aliases the generator doesn't produce, and e.g. ActivityLog's workflow header still records --php-versions="7.2,8.4" while matomo5_max_php resolves to 8.5.
Only the minimum actually varies per major: matomo5_max_php and matomo6_max_php both resolve to 8.5. "Max" is a fleet-wide policy value, while "min" is derivable — the action already checks out the target Matomo, which contains its own floor.
Options as I see them:
Keep per-major aliases (this PR) — smallest change, consistent with today's convention, and needed to unblock the pilot regardless.
A versionless matomo_min_php resolved at runtime from the target Matomo checkout, plus a single matomo_max_php policy value — no new aliases needed for future majors, and min can't drift from core.
Extend the workflow_call pattern from Add a reusable PHPStan workflow and the canonical pre-push hook, PG-4897 #44–Add reusable license check workflow for plugin repos #46 to the test matrix. The test steps are already central (the composite action), but a composite action runs inside a job the caller defines, so the matrix — the PHP × Matomo-target lists, cron, artifact conditions, exactly the part that changes when PHP support changes — still lives in every plugin repo. A reusable workflow here owning the matrix (and resolving/deriving the PHP versions internally) would shrink each plugin's matomo-tests.yml to a thin trigger-only caller.
Related either way: plugin workflows reference this repo @main, so a single merge here can break every plugin's CI at once — worth considering tagged refs or a per-major branch as we centralise more logic.
Opinions? Happy to prepare whichever direction we pick before the sweep starts.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds
matomo6_min_phpandmatomo6_max_phpaliases, resolving to PHP 8.1 (the Matomo 6 minimum) and PHP 8.5, alongside the existingmatomo5_*aliases. Plugin repositories' Matomo 6 branches can then switch their test matrices with a mechanicalmatomo5_→matomo6_rename while the supported PHP range stays centrally managed here, matching how the Matomo 5 aliases are used today. First consumer is the ActivityLog Matomo 6 branch (PG-5380).Checklist
Review