Skip to content
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

Drop python 3.8, add 3.11 & 3.12 to testing #1143

Merged
merged 35 commits into from
Jan 9, 2024

Conversation

charlesbluca
Copy link
Collaborator

With RAPIDS planning to drop python 3.8 support in 23.06 and discussion happening in dask/community#315 around Dask doing the same relatively soon, now seems like a good time to begin exploring dropping 3.8 support/testing ourselves.

@ayushdg
Copy link
Collaborator

ayushdg commented May 10, 2023

A few more places we can update:

pyo3 = { version = "0.18.3", features = ["extension-module", "abi3", "abi3-py38"] }

python_requires=">=3.8",

Can be done in a followup but we could remove a bunch of instances in the code for type hints with from typing import ... as it should just work py3.9 and above

@codecov-commenter
Copy link

codecov-commenter commented May 11, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (dbb36a4) 85.55% compared to head (78df128) 85.56%.

❗ Current head 78df128 differs from pull request most recent head ae174c1. Consider uploading reports for the commit ae174c1 to get more accurate results

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1143      +/-   ##
==========================================
+ Coverage   85.55%   85.56%   +0.01%     
==========================================
  Files          77       77              
  Lines        4258     4255       -3     
  Branches      758      794      +36     
==========================================
- Hits         3643     3641       -2     
+ Misses        446      445       -1     
  Partials      169      169              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@charlesbluca
Copy link
Collaborator Author

There are some intermittent mamba env solve failures I'm trying to work through (could be worth getting a minimal example together to open an issue in setup-miniconda), but seems like in general the main blocker here is lack of mlflow 3.11 packages in conda-forge; going to try rerunning conda-forge/mlflow-feedstock#120 to see if there are any blockers there.

Comment on lines 19 to 20
# corresponds to python 3.9, 3.10, 3.11
python: ["9", "10", "11"]
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

In an ideal world, we would be using the full python versions here, but since manipulation of string variables in GHA is difficult I think adding this comment to make things more easily grep-able is a fair compromise

@charlesbluca
Copy link
Collaborator Author

Looks like the blockers now are lack of availability for sasl on python 3.11 (required for our Hive testing stack) and some issues with cibuildwheel requiring protoc which are unrelated to the changes here.

I'll open a separate PR to address the issues around cibuildwheel, but not really sure what to do about the Hive testing - it seems like the GH page for sasl hasn't been updated in some time, so might not be feasible to make the changes required to publish 3.11 builds, and I wasn't able to get things working without it, though I did take a start with the following patch:

diff --git a/tests/integration/test_hive.py b/tests/integration/test_hive.py
index 1a86082c..85ab763f 100644
--- a/tests/integration/test_hive.py
+++ b/tests/integration/test_hive.py
@@ -138,7 +138,7 @@ def hive_cursor():
             "IPAddress"
         ]
         port = 10000
-        cursor = sqlalchemy.create_engine(f"hive:https://{address}:{port}").connect()
+        cursor = sqlalchemy.create_engine(f"hive:https://{address}:{port}", connect_args={"auth": "NOSASL"}).connect()
 
         # Create a non-partitioned column
         cursor.execute(

@ayushdg
Copy link
Collaborator

ayushdg commented May 19, 2023

Thanks for looking into this. Assuming sail cannot be patched in time for 3.11 we might want to evaluate skipping hive tests for 3.11.
For CIBW happy to sync to get the builds around protobuf working.

@sarahyurick
Copy link
Collaborator

I think gpuCI should pass now after merging main.

@charlesbluca
Copy link
Collaborator Author

Going to guess that the issues in the conda build are caused by the recent release of anyio=3.7; going to check if I can trivially reproduce to file an issue and unblock things on our end for now

@charlesbluca charlesbluca changed the title Drop python 3.8 from testing Drop python 3.8, add 3.11 & 3.12 to testing Jan 9, 2024
@charlesbluca charlesbluca merged commit ce51df3 into dask-contrib:main Jan 9, 2024
33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants