Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

CI: change MySQL image in CI from 8.3 to LTS 8.4 #18555

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
jorgsowa wants to merge 3 commits into php:master
base: master
Choose a base branch
Loading
from jorgsowa:ci/changed-mysql-image-to-lts

Conversation

Copy link
Contributor

@jorgsowa jorgsowa commented May 14, 2025

MySQL 8.4 is LTS version so I changed the version from 8.3 to 8.4 in the CI images.

https://dev.mysql.com/blog-archive/introducing-mysql-innovation-and-long-term-support-lts-versions/

Copy link
Contributor Author

One mysql test fails, because mysql_native_password is not enabled by default.

Copy link
Member

@TimWolla TimWolla left a comment

Choose a reason for hiding this comment

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

because mysql_native_password is not enabled by default.

It should be loaded then. Since it's still available, it makes sense to me that we still test it.

Copy link
Contributor

it needs command:--mysql-native-password=ON

Copy link
Contributor Author

It should be loaded then. Since it's still available, it makes sense to me that we still test it.

@TimWolla plugin is not even tested in this failing test case. It's test for mysqli_report() function. Plugin mysql_native_password is removed in PHP 9.0. It may be even wrong to consider this deprecated mode in tests because somehow the non-existing user uses deprecated auth, but we don't set it anywhere in the tests. It should be the default taken from mysql settings, that for 8.4 is caching_sha2_password.

Gemorroj reacted with thumbs up emoji

Copy link
Member

plugin is not even tested in this failing test case. It's test for mysqli_report() function.

I see. I did not check the test. The change to ext/mysqlnd/mysqlnd_enum_n_def.h is a functional change, though. And thus unrelated to this PR. It makes sense to me, but it should have its dedicated PR including its own tests. As an example, I can't say whether or not it will break older MySQL 5.x versions.

Also caching_sha2_password requires linking mysqlnd against OpenSSL to work, which is not a given as of now:

#ifdef MYSQLND_HAVE_SSL

Copy link
Member

Please see:
#14118

Due to unstable behavior in authentication with MySQL 8.4, we were using 8.3 in our CI.
We need to check whether this issue has been resolved.

@jorgsowa jorgsowa marked this pull request as draft May 31, 2025 21:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Reviewers

@TimWolla TimWolla TimWolla left review comments

@bukka bukka Awaiting requested review from bukka

@kamil-tekiela kamil-tekiela Awaiting requested review from kamil-tekiela

@SakiTakamachi SakiTakamachi Awaiting requested review from SakiTakamachi

Assignees
No one assigned
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

AltStyle によって変換されたページ (->オリジナル) /