Skip to content

Conversation

@bmos
Copy link
Contributor

@bmos bmos commented Jul 12, 2025

Per the discussion in #1515, I have added the latest build of python 3.14 to the testing matrix.
It is set to not fail when the tests fail, so it shouldn't confuse contributors but will allow us to keep an eye on what failures block support.

From running this, we can see some existing compatibility issues that will need to be addressed before supporting 3.14:

  • lxml will not install o ubuntu [lxml (v6.0.0) was included because parsons (v5.2.0) depends on simple-salesforce (v1.12.6) which depends on zeep (v4.3.1) which depends on lxml]
  • psycopg2-binary will not install on windows [psycopg2-binary (v2.9.10) was included because parsons (v5.2.0) depends on psycopg2-binary]

There may be other issues after these are resolved. Both packages are the latest versions, which indicates we are most likely dependent on upstream fixes.

@github-actions
Copy link

github-actions bot commented Jul 12, 2025

Coverage report

This PR does not seem to contain any modification to coverable code.

@fgregg
Copy link
Contributor

fgregg commented Jul 12, 2025

nice! if the continue-on-error is on the step instead of on the job you get a green check. good work figuring that out!

Copy link
Contributor

@fgregg fgregg left a comment

Choose a reason for hiding this comment

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

A real improvement over what we have now!

Not a perfect solution since it is showing the individual 3.14 jobs as green, when they should be red, but much better than my attempt which showed the whole job as red, when it should be green. I think this the best we can get until something like "allow_failure" gets implemented by github.

@fgregg
Copy link
Contributor

fgregg commented Jul 12, 2025

@bmos if we change uv pip install --system -e . to uv pip install --system -e . --ignore-requires-python will allow us to test 3.14 without loosening the requirements in setup.py before we are ready.

@fgregg
Copy link
Contributor

fgregg commented Jul 12, 2025

@bmos, reading the code more for setup-actions, i don't think a hashed-commit pin is will also allows us to just use "3.14-dev" and have that get is the most recent prelease version. happy to have that previous behavior reverted.

bmos added 3 commits July 13, 2025 08:21
Comment out python 3.14 classifier
add `--ignore-requires-python` flag to `uv install -e. [all]` in pytest job
revert added uv flag
@bmos
Copy link
Contributor Author

bmos commented Jul 13, 2025

@bmos if we change uv pip install --system -e . to uv pip install --system -e . --ignore-requires-python will allow us to test 3.14 without loosening the requirements in setup.py before we are ready.

https://github.com/move-coop/parsons/actions/runs/16249114550/job/45876284578#step:5:12

@fgregg
Copy link
Contributor

fgregg commented Jul 13, 2025

@bmos if we change uv pip install --system -e . to uv pip install --system -e . --ignore-requires-python will allow us to test 3.14 without loosening the requirements in setup.py before we are ready.

https://github.com/move-coop/parsons/actions/runs/16249114550/job/45876284549#step:5:1

it works locally (but without uv) i’ll see if i can get it work with uv

@fgregg
Copy link
Contributor

fgregg commented Jul 13, 2025

okay, this indeed a behavior difference between uv and pip.

however uv does not respect upper bounds for python requires anyway, so i think no action is really needed here. maybe a comment next to the matrix about that fact could be helpful,

astral-sh/uv#8374 (comment)

Copy link
Contributor

@fgregg fgregg left a comment

Choose a reason for hiding this comment

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

thanks for this @bmos. i think this is is a good state. if you wanted to bring back the hash-pinning, that would be fine, but that's up to you!

@shaunagm shaunagm merged commit 18c3268 into move-coop:main Aug 7, 2025
82 checks passed
@bmos bmos deleted the python-3.14 branch September 22, 2025 13:15
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.

3 participants