Skip to content

Run the MySQL suite against MariaDB in CI - #13

Merged
bashhack merged 1 commit into
mainfrom
mariadb-ci
Oct 22, 2026
Merged

bashhack merged 1 commit into
mainfrom
mariadb-ci

Conversation

@bashhack

Copy link
Copy Markdown
Owner

The third item from the limits discussion: MariaDB moves from "likely works, untested" to tested.

Running the existing MySQL suite against MariaDB 11.4 turned up exactly one difference: MariaDB returns NULL from GET_LOCK for a negative timeout, where MySQL waits forever. The build lock now uses a long finite timeout on both (a context deadline still cuts it short). With that, the whole mysql package passes on MariaDB: the provider tests, keep-on-failure, kill-then-drop cleanup, SQLFiles, the clone's fidelity test (generated columns, views, triggers, routines, AUTO_INCREMENT), the pool with warm-up, and the multi-process and kill tests; so do the goose and golang-migrate adapters' MySQL tests.

  • docker-compose.test.yml gains test-mariadb (mariadb:11.4 on 3307, durability off like the others); make test/db/start waits for all three servers. Point TEST_MYSQL_URL at port 3307 to run the suite against MariaDB locally.
  • CI gains a second job, "MySQL suite on MariaDB", running ./mysql/... and the adapters' TestMySQL* tests against a mariadb:11.4 service. The existing job is unchanged, so its check name stays the same.

Verified locally against both servers before pushing; the README's "MariaDB is likely to work but is not tested" line can become "MySQL 8.4 and MariaDB 11.4" once this job is green.

MariaDB returns NULL from GET_LOCK for a negative timeout, where MySQL
waits forever, so the build lock now uses a long finite timeout on both
(a ctx deadline still cuts it short). With that one change the whole
mysql package passes on MariaDB 11.4: the clone's fidelity, the pool,
and the multi-process and kill tests.

A test-mariadb service joins the compose file on port 3307, make
test/db/start waits for it, and a second CI job runs the mysql package
and the adapters' MySQL tests against mariadb:11.4.
@codecov-commenter

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@bashhack
bashhack merged commit 2d74082 into main Oct 22, 2026
2 checks passed
@bashhack
bashhack deleted the mariadb-ci branch October 22, 2026 07:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants