Skip to content

v2.3.7 — Automated e2e test suite (Playwright + YOURLS Docker)

Choose a tag to compare

@toineenzo toineenzo released this 26 Apr 18:27

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:

  1. Spins up a YOURLS Docker container (yourls:latest) with MariaDB 11 alongside.
  2. Mounts the plugin source at /var/www/html/user/plugins/yourls-link-front-page.
  3. Runs the YOURLS installer, logs in as admin, activates Link Front Page.
  4. Drives the admin and the public page with Playwright (Chromium, headless).
  5. 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, or Stack trace:.
  • A Warning / Notice that mentions yourls-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