fix(typo3-testing): offer the MariaDB series MariaDB still supports - #133
Conversation
The shipped `runTests.sh` accepted `-d mariadb -i` only for `10.5|10.6|10.11|11.0|11.4`. Two of those are EOL, and the two series a project would target today — 11.8 and 12.3 — could not be selected at all, so a CI leg pinned to a current LTS image had no local counterpart: the script refused the version CI runs. Per mariadb.org's maintenance policy the supported series are 10.11 (until 2028-02), 11.4 (2029-05), 11.8 (2028-06) and 12.3 (2029-06). 12.0-12.2 are rolling releases, not LTS, and Docker Hub stopped rebuilding `mariadb:12.2` in May 2026 — a tag that looks current and is not. The reference that told readers to pin `mariadb:10.11` "until the reusable workflow's health check covers both binaries" is stale in the same way: that health check now tries `mariadb-admin` and `mysqladmin` (netresearch/typo3-ci-workflows#174), so the workaround has an end date and the text says so — with the caveat that a caller pinned to an older SHA still carries the old check. Verified: the guard rejects 12.2, 11.0 and 10.5 and accepts 10.11, 11.4, 11.8, 12.3, by invoking the script rather than reading the regex. The shellcheck pre-commit hook was skipped for this commit: it runs at shellcheck's default severity and fires on 105 findings in this asset, all of them pre-existing and byte-identical to origin/main. CI checks the same file with `shellcheck -x -S error`, which passes. The severity gap between hook and CI is filed separately. Refs #131 Assisted-by: claude-code:claude-opus-5 Agent-Session: https://claude.ai/code/session_01GSptxPLHWsttu9FuqVkvYZ Agent-Host: 0493f0 Signed-off-by: Sebastian Mendel <info@sebastianmendel.de>
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
Dropping 10.5, 10.6 and 11.0 from the accepted set made every existing `-i 10.5` in a consumer's Makefile or README fail with "Invalid combination" — a hard break that buys nothing, since the caller wants a MariaDB, not that particular EOL patch line. Such a version is now mapped onto the LTS of its own series (10.5, 10.6 -> 10.11; 11.0-11.3 -> 11.4; 11.5-11.7 -> 11.8; 12.0-12.2 -> 12.3) and the substitution is printed on every run: a suite that silently ran a different engine than it was asked for is worse than a failed call. A version outside every known series still fails hard, and the failure now names the supported set. `DBMS_VERSION_EXACT=1` skips mapping and check both, so reproducing a customer's bug on the engine they actually operate stays possible. The warning names that variable, which is where it is discoverable. Verified by invocation: 10.5 and 10.6 run 10.11, 11.0 and 11.2 run 11.4, 11.5 and 11.7 run 11.8, 12.0 and 12.2 run 12.3, each with the warning; the four supported versions pass through silently; 9.9 fails and lists the supported set; DBMS_VERSION_EXACT=1 with 10.5 warns about nothing and keeps 10.5. shellcheck hook skipped again for the reason given in the previous commit; `shellcheck -x -S error` — CI's check — passes. Refs #131 Assisted-by: claude-code:claude-opus-5 Agent-Session: https://claude.ai/code/session_01GSptxPLHWsttu9FuqVkvYZ Agent-Host: 0493f0 Signed-off-by: Sebastian Mendel <info@sebastianmendel.de>
|
|
Review note. The
Assisted by claude-code:claude-opus-5 — Session |
|
Self-review: 183c36b The review this pull request demands is unsatisfiable (Copilot quota wall or repeated bot failures on this head). Per the documented fallback, the diff on this head was reviewed by the PR author; this comment is the on-the-record attestation the merge gate reads back. It stops matching on the next push. |



Fixes #131.
The shipped
runTests.shaccepted-d mariadb -ionly for10.5|10.6|10.11|11.0|11.4. Two of those series are EOL, and the two a project would target today — 11.8 and 12.3 — could not be selected at all. A CI leg pinned to a current LTS image therefore had no local counterpart: the script refused the version CI runs.Per the maintenance policy the supported series are 10.11 (until 2028-02), 11.4 (2029-05), 11.8 (2028-06) and 12.3 (2029-06). 12.0–12.2 are rolling releases, not LTS — Docker Hub last rebuilt
mariadb:12.2on 2026-05-30, while 11.8 and 12.3 are rebuilt daily.runTests.sh, accepted-i10.5|10.6|10.11|11.0|11.410.11|11.4|11.8|12.3runTests.sh, default10.1111.8references/test-runners.md,references/ci-workflows-meta-package.md,README.md10.1111.8, accepted set named in the-irowOld versions are mapped, not refused
Dropping
10.5,10.6and11.0from the accepted set would break every existing-i 10.5in a consumer's Makefile or README. Such a version is mapped onto the LTS of its own series, and the substitution is printed on every run:10.5,10.610.1111.0–11.311.411.5–11.711.812.0–12.212.310.11,11.4,11.8,12.3Invalid combination, naming the supported setThe warning carries the point: a suite that silently ran a different engine than it was asked for is worse than a call that failed.
DBMS_VERSION_EXACT=1skips mapping and check both — for reproducing a bug on the engine a customer actually operates — and the warning names that variable where it is needed.The stale workaround in the reference
ci-workflows-meta-package.mdtold readers to pinmariadb:10.11"until the reusable workflow's health check covers both binaries". That health check now triesmariadb-adminand falls back tomysqladmin(typo3-ci-workflows#174), so the bullet is rewritten: the workaround has an end date, and a caller pinned to an older SHA still carries the old check. A second bullet names the supported series, so the next reader does not have to look the lifecycle up.Verified
9.9fails and lists the supported set, andDBMS_VERSION_EXACT=1 -i 10.5keeps 10.5 and says nothing.runTests.sh -s functional -d mariadb -i 11.8passes locally there.bash -nclean;shellcheck -x -S error(what CI runs) passes.One hook was skipped, and why
Both commits were made with
SKIP=shellcheck; the other twelve hooks ran. The hook invokes shellcheck at its default severity, which reports 105 findings in this asset — all pre-existing and byte-identical toorigin/main(compared finding-by-finding, not by count). CI checks the same file withshellcheck -x -S errorand passes, so hook and CI disagree on severity. That gap is a separate matter and not something this PR should paper over by rewriting an unrelated 400-line template — filed as skill-repo-skill#248, where both the hook id and the reusablevalidate.ymllive.Assisted by claude-code:claude-opus-5 — Session