Repository navigation
Run feature checks on every database seed-forum supports - #46
Merged
Merged
Conversation
feature_checks.py --seed-board BOARD_ROOT --port PORT runs the checks against an installed seed-forum board, on SQLite, MySQL, MariaDB, PostgreSQL or MSSQL, instead of phpbb-test-board's own SQLite board. A new SeedBoard class drives it: SQL goes through seed-forum's bin/board-sql.php (phpBB's own database layer) and PHP through bin/board-php.py, so the same checks work everywhere. After its check each extension is disabled, purged and enabled again through phpBB's CLI, running its migrations backwards and forwards on that database. db-matrix.sh runs that for every phpBB branch and database: it builds a seed-forum board per combination, runs the checks and stops the board's database container, then prints a summary. Oracle isn't covered, since phpBB is dropping it. The Contact Admin check builds its route with b.route(), so it also runs on phpBB 4.0 (index.php instead of app.php), and it now sends a guest message by private message and checks it was stored, so each database gets a real write through the contact form. Tests cover the new options' help and exit statuses; CI's ShellCheck step includes db-matrix.sh. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.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.
Lets the feature checks run on every database phpBB supports, except Oracle, which phpBB is dropping. Until now they only ran on phpbb-test-board's own SQLite board.
What changes
feature_checks.py --seed-board BOARD_ROOT --port PORT: runs the checks against an installed seed-forum board, on SQLite, MySQL, MariaDB, PostgreSQL or MSSQL. A newSeedBoardclass drives it. SQL goes through seed-forum'sbin/board-sql.php(phpBB's own database layer) and PHP throughbin/board-php.py, so the checks don't change per database. After its check, each extension is disabled, purged and enabled again through phpBB's CLI, which runs its migrations backwards and forwards on that database. This needs seed-forum'sboard.databasesupport (phpbbmodders/seed-forum, branchboard-database-engines).db-matrix.sh: runs that for every phpBB branch and database. It builds a seed-forum board per combination, runs the checks, unmounts the board's extensions, stops its database container, and prints a summary.SeedBoard.serve()refuses to start when something already answers on the board's port. A leftover server once made a run check the wrong board.b.route(), so it also runs on phpBB 4.0 (index.phpinstead ofapp.php);db-matrix.sh.Testing
tests/test-phpbb-test-board.sh: all tests pass, including the eight new ones.db-matrix.shon Contact Admin across phpBB 3.3.19 and 4.0.0-a3-dev with SQLite, MySQL 8.4, MariaDB LTS, PostgreSQL 16 and SQL Server 2022: all ten boards passed, 15 of 15 checks each.Investigated and written by Claude on behalf of William Jacoby (bonelifer).