kayak / pypika

PyPika is a python SQL query builder that exposes the full richness of the SQL language using a syntax that reflects the resulting query. PyPika excels at all sorts of SQL queries but is especially useful for data analysis.
http://pypika.readthedocs.io/en/latest/
Apache License 2.0
2.43k stars 293 forks source link

CI: Python 3.6 Build #747

Closed gavindsouza closed 9 months ago

gavindsouza commented 10 months ago

The Unit Test Action for Python 3.6 is failing on all PRs. This happens because support for 3.6 is dropped via the setup-python action (ref: https://github.com/actions/setup-python/issues/355).

However, I would suggest we remove 3.6 and 3.7 (which have both reached end-of-life), from the testing matrix and add the later versions instead (ref: https://devguide.python.org/versions/#python-release-cycle).

https://github.com/kayak/pypika/blob/30574f997c80851f7e940ad09a63e14a98871dd3/.github/workflows/pythonpackage.yml#L16

We ought to change this to [3.8, 3.9, 3.10. 3.11, 3.12] instead.

AzisK commented 10 months ago

Okay, we can do that. Do you know how to handle the version of the library when support for a certain version is dropped? I believe have to update the major version. What do you think?

gavindsouza commented 10 months ago

There isn't some standard or convention for this though, it depends on the project itself. For Frappe & ERPNext (ref: https://github.com/frappe/erpnext/wiki/Supported-Versions), we maintain support for multiple major version releases for X time which means the (system deps) environment won't ever change from the first release to it's EOL.

For PyPika, where there's only one linear branch, I don't think we need to create a major release for this. A minor one will do just fine (0.39.0). If we were to drop support for a currently supported Python env like 3.10 - then that would've probably warranted a major release.