Conversation
The workflow inherited the shared action's MySQL 5.7 default, which is below Matomo's new minimum. Pin the database-backed jobs to the supported floor: PluginTests now runs a MySQL 8.0 + MariaDB 10.6 matrix, and the UI/JS jobs run on MySQL 8.0.
Node 16 no longer supports the JS test runner (crypto.getRandomValues is unavailable), matching the Node 24 version core uses for its Client tests.
sgiehl
marked this pull request as ready for review
July 20, 2026 09:05
PluginTests runs a MySQL + MariaDB matrix; the upload-artifacts condition matched both legs and uploaded twice. Restrict the upload to the MySQL leg.
sgiehl
added a commit
that referenced
this pull request
Aug 10, 2026
* Prepare for Matomo 6 Bump plugin version to 6.0.0 and require Matomo >=6.0.0-b1,<7.0.0-b1. * Run tests on same PHP versions as core (8.1, 8.5) * Rebuild Vue dist files with the Vite build for Matomo 6 (#109) * Run plugin tests against MySQL 8.0 and MariaDB 10.6 (#110) * Run plugin tests against MySQL 8.0 and MariaDB 10.6 The workflow inherited the shared action's MySQL 5.7 default, which is below Matomo's new minimum. Pin the database-backed jobs to the supported floor: PluginTests now runs a MySQL 8.0 + MariaDB 10.6 matrix, and the UI/JS jobs run on MySQL 8.0. * Run Client tests on Node 24 Node 16 no longer supports the JS test runner (crypto.getRandomValues is unavailable), matching the Node 24 version core uses for its Client tests. * Only upload plugin test artifacts for the MySQL matrix leg PluginTests runs a MySQL + MariaDB matrix; the upload-artifacts condition matched both legs and uploaded twice. Restrict the upload to the MySQL leg. * Stop exercising the removed API.getSettings method in tests (#112) The API.getSettings method is removed in Matomo 6. Drop it from the profiler integration test and the SendSystemReportTask fixture (both used it only as a sample API call), and regenerate the affected system-test expected files (fewer tracked API-call actions: 39 -> 37, and the API.getSettings event rows are gone). * Update expected UI screenshots for the new headless Chrome (Node 24 / Puppeteer 24) (#111) * Update expected UI screenshots for the new headless Chrome (Node 24 / Puppeteer 24) * Run the plugin UI tests on Node 24 Match the Node 24 / Puppeteer 24 screenshot-testing stack; the UI job was still pinned to Node 16. * Declare string return type on getBaseUrl() override for matomo-php-tracker 3.4.0 (#113) * Declare string return type on getBaseUrl() override matomo-php-tracker 3.4.0 adds a string return type to MatomoTracker::getBaseUrl(); the override must match it or PHP raises an incompatible-declaration fatal when the class is loaded. * Keep test-mode token_auth null when no token is available Fixture::getTokenAuth() now returns '' instead of null (it must satisfy the tracker's string-typed setTokenAuth). Coalesce to null so the generated test tracking config keeps token_auth: null as before. * Update UI Screenshots after switching primary brand color (#114) * Declare string return type on getBaseUrl() override matomo-php-tracker 3.4.0 adds a string return type to MatomoTracker::getBaseUrl(); the override must match it or PHP raises an incompatible-declaration fatal when the class is loaded. * Keep test-mode token_auth null when no token is available Fixture::getTokenAuth() now returns '' instead of null (it must satisfy the tracker's string-typed setTokenAuth). Coalesce to null so the generated test tracking config keeps token_auth: null as before. * Update UI screenshots Teal brand screenshots on 6.x-dev plugin base; synced from matomo-org/matomo run 30405694397. --------- Co-authored-by: sgiehl <stefan@matomo.org> * Remove the unminified Vue UMD bundle (#116) Matomo's Vue build no longer emits <Plugin>.umd.js. Only the minified AnonymousPiwikUsageMeasurement.umd.min.js is ever served: PluginUmdAssetFetcher looks exclusively for .umd.min.js, and development mode uses the .development.umd.js produced by vue:build --watch. The unminified bundle was a leftover from Vue CLI, whose lib build emitted it alongside the minified one for free. See matomo-org/matomo#25027. * Add changelog entry for Matomo 6 compatibility [ignore_release] * Use the matomo6 PHP version aliases in the test workflow [ignore_release] * Track dashboard widget controls through the ReportHeader events [ignore_release] --------- Co-authored-by: Thomas ZILLIOX <thomas.zilliox@innocraft.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Updates the plugin test workflow to run against the new minimum supported database versions. It previously inherited the shared
github-action-testsMySQL 5.7 default, which is below Matomo's new minimum (MySQL 8.0 / MariaDB 10.6).Core PR: matomo-org/matomo#24858
crypto.getRandomValuesis unavailable — matching the Node version core uses).Checklist