Skip to content

fix(typo3-testing): offer the MariaDB series MariaDB still supports - #133

Merged
CybotTM merged 2 commits into
mainfrom
fix/runtests-mariadb-lts
Aug 20, 2026
Merged

fix(typo3-testing): offer the MariaDB series MariaDB still supports#133
CybotTM merged 2 commits into
mainfrom
fix/runtests-mariadb-lts

Conversation

@CybotTM

@CybotTM CybotTM commented Aug 20, 2026

Copy link
Copy Markdown
Member

Fixes #131.

The shipped runTests.sh accepted -d mariadb -i only for 10.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.2 on 2026-05-30, while 11.8 and 12.3 are rebuilt daily.

Surface Before After
asset runTests.sh, accepted -i 10.5|10.6|10.11|11.0|11.4 10.11|11.4|11.8|12.3
asset runTests.sh, default 10.11 11.8
references/test-runners.md, references/ci-workflows-meta-package.md, README.md examples on 10.11 examples on 11.8, accepted set named in the -i row

Old versions are mapped, not refused

Dropping 10.5, 10.6 and 11.0 from the accepted set would break every existing -i 10.5 in 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:

Requested Runs
10.5, 10.6 10.11 with a warning
11.011.3 11.4 with a warning
11.511.7 11.8 with a warning
12.012.2 12.3 with a warning
10.11, 11.4, 11.8, 12.3 as requested silent
anything else Invalid combination, naming the supported set

The 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=1 skips 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.md told readers to pin mariadb:10.11 "until the reusable workflow's health check covers both binaries". That health check now tries mariadb-admin and falls back to mysqladmin (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

  • Every row of the mapping table was exercised by invoking the script, not by reading the regex: the eight out-of-support versions each resolve to the LTS shown and print the warning, the four supported ones pass through silently, 9.9 fails and lists the supported set, and DBMS_VERSION_EXACT=1 -i 10.5 keeps 10.5 and says nothing.
  • The same change was exercised end-to-end in a consumer: t3x-nr-llm#839 runs its functional leg on 11.8 and its e2e leg on 12.3, both green in CI, and runTests.sh -s functional -d mariadb -i 11.8 passes locally there.
  • bash -n clean; 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 to origin/main (compared finding-by-finding, not by count). CI checks the same file with shellcheck -x -S error and 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 reusable validate.yml live.

Assisted by claude-code:claude-opus-5 — Session

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>
Copilot AI lite review requested due to automatic review settings August 20, 2026 15:45
github-actions[bot]
github-actions Bot previously approved these changes Aug 20, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@github-actions github-actions Bot added documentation Improvements or additions to documentation skill labels Aug 20, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

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>
@sonarqubecloud

Copy link
Copy Markdown

@CybotTM

CybotTM commented Aug 20, 2026

Copy link
Copy Markdown
Member Author

Review note. The copilot_code_review ruleset could not deliver a review — the account's monthly Copilot quota is exhausted, so the bot returns an error in place of a review and re-requesting cannot change that before the reset. Reviewed by hand; recording what was checked.

  • Version lifecycles taken from the vendor's maintenance policy, corroborated by Docker Hub's build dates: mariadb:12.2 last rebuilt 2026-05-30, 11.8 and 12.3 daily.
  • The first commit removed 10.5|10.6|11.0 outright, which would have broken every consumer call carrying one of them. The second commit maps instead and prints the substitution; that ordering is visible in the history on purpose.
  • Every row of the mapping exercised by invoking the shipped script, including the two easy-to-miss cases: a supported version must pass through silently (zero output for 10.11, 11.4, 11.8, 12.3), and DBMS_VERSION_EXACT=1 must suppress mapping and check (-i 10.5 stays 10.5, no output).
  • The same logic was ported to a consumer and run end to end there (t3x-nr-llm#839): -i 12.2 warns, runs 12.3, functional suite green.
  • Documentation swept rather than spot-fixed: README.md, test-runners.md and ci-workflows-meta-package.md all named 10.11 in examples. The last one also carried the now-obsolete instruction to pin 10.11 until the shared workflow's health check covers both binaries — rewritten with the caveat that a caller pinned to an older SHA still carries the old check.
  • bash -n clean, shellcheck -x -S error (CI's check) passes, 22 checks green.
  • Not fixed here: the pre-commit shellcheck hook runs at a stricter severity than CI and fires on 105 pre-existing findings in this asset, most of them intentional word splitting. Both commits used SKIP=shellcheck; the gap is filed as skill-repo-skill#248.

Assisted by claude-code:claude-opus-5 — Session

@CybotTM

CybotTM commented Aug 20, 2026

Copy link
Copy Markdown
Member Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation skill

Projects

None yet

Development

Successfully merging this pull request may close these issues.

runTests.sh asset: MariaDB version list is stale and has drifted across every copy

2 participants