JUBELBUILD — DEVELOPER TOOLS
Test Lab
Test platform for JubelBuild — pushes purpose-built broken fixtures to GitHub so you can exercise every add-on through the normal builder.
Break things on purpose — verify your safety net works
Test Lab is a premium-only child add-on of JubelBuild. It gives you a dashboard with one "Test X" button per JubelBuild add-on: each click builds a fixture plugin with deliberately injected defects and pushes it to a GitHub repository of your choice — so you can fetch it through the normal builder and watch the matching add-on catch exactly what it should. The injected defects are chosen at random on every run, so repeated tests are always different.
One test button per add-on
- Test Parallel Lint: several files, each with a real
php -lparse error. - Test Compliance Fixer: a plugin with missing header and readme fields and disallowed calls.
- Test PHP Lexer: structural defects — close-tag-in-comment, brace imbalance, unterminated string/heredoc, skewed
[PRO]markers. - Test PHPStan: valid PHP that PHPStan flags — undefined variables and functions, type mismatches.
- Test PHP-Parser (Engine B):
[PRO]marker blocks that exercise the parser-verified excision.
The workflow
- Settings: set GitHub owner, repository, branch and a Personal Access Token (fine-grained, Contents: Read and write on that one repo). Optionally a base path and the fixture slug.
- Dashboard: click a "Test X" button. The fixture is pushed; the page reloads and shows what was injected this run, what the add-on should report, and where to look.
- JubelBuild: point a dataset at the same repository.
- Step 1 → Option 2: Fetch DEV from GitHub.
- Run the builder: the matching add-on reacts. You can interrupt the build at any time — e.g. with a browser refresh.
Requirements
- WordPress 6.0 or higher (tested up to 6.8).
- PHP 7.4 or higher.
- The active core plugin JubelBuild (Pro).
- A GitHub repository plus a fine-grained, repo-scoped Personal Access Token.
- Current version 0.1.6 · GPLv2 or later.
FAQ
When is a test offered?
A test is only offered when its add-on is detected as active — by a known function or class, or an active plugin folder prefix. If detection misses your setup, use the force-enable toggles in Settings.
Does it clutter my repository?
No. Files are pushed with the GitHub Contents API (one commit per file), and the same fixed file set — slug.php, readme.txt, inc/case-1..3.php — is overwritten on every run, so nothing stale accumulates.
How is the access token handled?
The PAT is stored in the WordPress options table. Use a fine-grained token scoped to that one repository, and revoke it when no longer needed.
Are PHPStan findings visible in the browser build?
PHPStan findings surface in the generated GitHub Actions run; the in-browser build only blocks when a local vendor/bin/phpstan with exec is available and blocking is enabled.
Is there a FREE version?
No — Test Lab is a premium-only child add-on of JubelBuild: no FREE build and no marker split.
Trust your pipeline — because you've tested it
Randomized fixtures for every add-on, pushed to GitHub with one click — a repeatable proving ground for your whole build chain.
