Repository navigation
Run the MySQL suite against MariaDB in CI - #13
Merged
Merged
Conversation
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 Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
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.
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
NULLfromGET_LOCKfor 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 wholemysqlpackage 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.ymlgainstest-mariadb(mariadb:11.4 on 3307, durability off like the others);make test/db/startwaits for all three servers. PointTEST_MYSQL_URLat port 3307 to run the suite against MariaDB locally../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.