doctrine / dbal

Doctrine Database Abstraction Layer
https://www.doctrine-project.org/projects/dbal.html
MIT License
9.4k stars 1.33k forks source link

CI: Update MariaDB versions #6426

Closed grooverdan closed 3 weeks ago

grooverdan commented 4 weeks ago
Q A
Type improvement
Fixed issues N/A

Summary

Improve the CI to cover newer versions of MariaDB 11.4+.

Also cover the quay.io/mariadb-foundation/mariadb-devel images from https://quay.io/repository/mariadb-foundation/mariadb-devel?tab=tags where they are updated with completed, reviewed and tested changes in the MariaDB server main branch.

These are completed features/bug fixes in the next server version. As such this is a good thing to test before the users get the final product.

ref: https://mariadb.org/new-service-quay-io-mariadb-foundation-mariadb-devel/

The test failures here are fixed by #6425.

derrabus commented 4 weeks ago

Thank you. We already have a very large CI matrix and I'd like to avoid adding more and more checks on top.

derrabus commented 4 weeks ago

Looks like the CI has spotted an incompatibility with 11.4. 🙈

grooverdan commented 4 weeks ago

Looks like the CI has spotted an incompatibility with 11.4. 🙈

The test failures here are fixed by https://github.com/doctrine/dbal/pull/6425.

grooverdan commented 4 weeks ago

Thank you. We already have a very large CI matrix an I'd like to avoid adding more and more checks on top.

* About adding 11.4 to the matrix: absolutely. In fact, if you submitted that change only as a separate PR, I'd merge it right away.

* While you're at it, let's kick 11.0. It has just reached its EOL.

easy.

* 11.5-rc: We usually wait for a stable release before adding a new image to the matrix. Given that there are not new features in 11.5 that we currently make use of, I'd rather not add 11.5 just yet.

Ack.

* About the devel images: I'm really not sold here. It feels like we're running the CI for other people software and I don't want to do that.

As #6425 shows, the way Doctrine use other people's software isn't 100% stable, occasionally assumptions are made, and broken.

When code reaches quay.io/mariadb-foundation/mariadb-devel, its been tested, though CI and reviewed. The only thing that will detect an incompatibility is another set of tests (or an end user which is what I'm trying to avoid). With a bug report, its probably even fixable in MariaDB before release. A case where this worked for another upstream connector is https://jira.mariadb.org/browse/MDEV-33592, and hopefully no mutual users even noticed.

Its your project obviously, I'll take your decision however it comes.

I'll incorporated the desired changes and rebase after #6425 so it looks really green before a merge.

derrabus commented 4 weeks ago

Okay, let's split the PR into two:

derrabus commented 3 weeks ago

I've chery-picked the first commit to #6432.

derrabus commented 3 weeks ago

@greg0ire @morozov What do you think about testing against MariaDB snapshots? Should we do that?

derrabus commented 3 weeks ago

I just noticed, you threw out all changes related to the dev snapshots. I'm merging as is, please submit a new PR where we can discuss including the dev versions.

morozov commented 3 weeks ago

What do you think about testing against MariaDB snapshots?

I think this is overkill. New versions of databases are adopted slower than say PHP versions. It is fine to start testing agains a new version once it's released and catch up by the time its adoption begins.