v2.3.7 — Automated e2e test suite (Playwright + YOURLS Docker)
A maintenance release that introduces an automated end-to-end test suite. No user-facing changes — the plugin behaviour is identical to v2.3.6.
🧪 What's new
CI test workflow
A new GitHub Actions workflow at .github/workflows/release-test.yml runs on every published release (and on relevant pull requests). It:
- Spins up a YOURLS Docker container (
yourls:latest) with MariaDB 11 alongside. - Mounts the plugin source at
/var/www/html/user/plugins/yourls-link-front-page. - Runs the YOURLS installer, logs in as admin, activates Link Front Page.
- Drives the admin and the public page with Playwright (Chromium, headless).
- Uploads the HTML report, traces and Docker logs as artifacts on failure.
Coverage
Six spec files exercise the surfaces most likely to regress:
| Spec | Covers |
|---|---|
01-yourls-base |
YOURLS still works with the plugin active — admin link table, plugins page, shortlink redirect (catches the v2.3.1 TypeError-style regression) |
02-plugin-admin |
Plugin settings page loads, all four tabs (Links / Image grid / General / Appearance) switch without JS errors |
03-links |
Custom URL link with favicon-button image + description, YOURLS shortlink picked from the picker with an uploaded image, and a category with title + description + image |
04-image-grid |
Bulk-upload of 6 tiles, half pointing at custom URLs and half at YOURLS shortlinks, each title-visibility mode (always / hover / never) tested on both source types — including a real hover() to verify the CSS transition fades the overlay in |
05-settings |
General tab persists site_title + site_description; Appearance tab persists background_color and surfaces it as the --lfp-bg CSS variable |
06-about-footer |
About-me toggle + photo + text, Personal contact card with vCard download + inline rendering, Business vCard download without inline, and the Footer customisation (login link off, Powered-by override, custom HTML) |
Failure detection
Every spec runs through a fixture that fails the test if it sees:
- An HTTP 5xx on any non-image response.
- An uncaught JavaScript error in the page.
- A PHP error pattern in the rendered HTML —
Fatal error,Parse error,Uncaught Error/TypeError/ValueError/ArgumentCountError, orStack trace:. - A
Warning/Noticethat mentionsyourls-link-front-page(i.e. caused by this plugin specifically — upstream YOURLS noise is intentionally ignored).
So the suite verifies both the plugin works and the plugin doesn't break YOURLS.
⬇️ Installation
cd /path/to/yourls/user/plugins
rm -rf yourls-link-front-page
unzip /path/to/YOURLS-Link-Front-Page-2.3.7.zip…or git pull. No database changes, no settings migration.
Full changelog: v2.3.6…v2.3.7