-
Notifications
You must be signed in to change notification settings - Fork 102
Description
SUMMARY
I'm creating this issue hoping to start a discussion about which database server/versions that this collection supports and how that affects integration testing. Based on the code, it seems that the intent is to support MySQL <5.7, MySQL 5.7, MySQL 8.0, and MariaDB. The integration tests only execute on MySQL 5.7 and 8.0, however, which limits the guarantees of compatibility for all other servers and versions.
I had some follow-up questions that the maintainers may or may not find are worth discussing:
- Would it be worth explicitly documenting the database servers and versions that the collection supports?
- If the above makes sense, should there be a standard for dropping support? For instance, support will be dropped for a particular version after the end of support date? A 3-6 month buffer could seem reasonable too? This could also provide opportunities to remove old code paths.
- Should all the supported versions be included in integration tests? Or are there specific limitations that are preventing doing so?
ISSUE TYPE
- Feature Idea
COMPONENT NAME
N/A
ADDITIONAL INFORMATION
It is worth mentioning that it looks like end of support for MySQL 5.6 appears to be quickly approaching, so I can see that it might not be worth including that version in integration tests now. This isn't the case for MariaDB, however.
Some examples where coverage is being missed:
- https://codecov.io/gh/ansible-collections/community.mysql/src/main/plugins/modules/mysql_user.py#L362
- https://codecov.io/gh/ansible-collections/community.mysql/src/main/plugins/modules/mysql_user.py#L504
- https://codecov.io/gh/ansible-collections/community.mysql/src/main/plugins/modules/mysql_user.py#L600
- https://codecov.io/gh/ansible-collections/community.mysql/src/main/plugins/modules/mysql_user.py#L719
- https://codecov.io/gh/ansible-collections/community.mysql/src/main/plugins/modules/mysql_user.py#L911