Skip to content

Conversation

@michaelsembwever
Copy link
Member

Add github actions for different python versions (and C* 4.0, 4.1, and trunk)
Also always test the latest patch versions

@michaelsembwever michaelsembwever force-pushed the mck/python2-gha branch 2 times, most recently from ee14678 to b70b523 Compare December 14, 2025 20:46
@michaelsembwever
Copy link
Member Author

@dkropachev

'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6'
'Programming Language :: Python :: 3.8',
Copy link
Contributor

Choose a reason for hiding this comment

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

3.8 is EOL in October this year, probably it would be better to start from 3.9

Copy link
Member Author

Choose a reason for hiding this comment

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

Cassandra 5.0 and trunk need 3.8 and 3.11 support
https://github.com/apache/cassandra/blob/cassandra-5.0/.jenkins/Jenkinsfile#L62

it would be nice to introduce ccm support for 3.12 3.13 3.14 and i tried but there's breakages.
see todo here: https://github.com/apache/cassandra-ccm/pull/801/files#diff-7829468e86c1cc5d5133195b5cb48e1ff6c75e3e9203777f6b2e379d9e4882b3R29

This repo, cassandra-dtest and cassandra-python-driver are the python dependencies that are holding back Cassandra from keeping up to date with newer python versions. This PR is an important step forward in testing foundations.

Comment on lines 11 to 13
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
Copy link
Contributor

Choose a reason for hiding this comment

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

Are you sure you want to support 2.x ?
It has reached EOL in 2020

Copy link
Member Author

Choose a reason for hiding this comment

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

yes, earlier versions of Cassandra still support 2.7, and run their CI on it, so we have to.

what is required is to release a CCM version first and then pin those earlier Cassandra version tests to it. that way we can then drop python2 support. but we don't have versions of ccm yet.

./ccm create test --version='git:cassandra-5.0' -n1 --vnodes --quiet
ccm_test
./ccm create test --version='git:cassandra-5.0.3' -n1 --vnodes --quiet
./ccm create test --version='git:trunk' -n1 --vnodes --quiet
Copy link
Contributor

Choose a reason for hiding this comment

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

does not seems correct, trunk is not stable, it may fail because trunk is broken

Copy link
Member Author

Choose a reason for hiding this comment

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

trunk should never break it (it has its own tests), and if the breakage is on our side we want to catch that early.
(yeah it introduces some noise for PR authors for a breakage that came else where, and the author has to let the right people know who can step in and help, but catching it early is still beneficial imho)

Copy link
Contributor

@dkropachev dkropachev left a comment

Choose a reason for hiding this comment

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

I can't resolve comments, probably have no access, so I just leave them open.

…d trunk)

Also always test the latest patch versions

 patch by Mick Semb Wever; reviewed by Dmitry Kropachev
@michaelsembwever
Copy link
Member Author

michaelsembwever commented Dec 16, 2025

CI

*) separate bug noticed in cqlsh-tests that cython is always being used

Failures in cqlsh-tests on 3.0 and 3.11 where it uses python2.
This file https://github.com/apache/cassandra/blob/cassandra-3.11/pylib/requirements.txt isn't compatible with this PR… is broken, currently incompatible with python2.
(The cqlsh-tests CI runs above were not using the coordinates for this PR, need to create a C* path of the pylib requirements.txt file to test…)

Created https://issues.apache.org/jira/browse/CASSANDRA-21079

@michaelsembwever
Copy link
Member Author

@dkropachev , can I get your review on CASSANDRA-21079 please 🙏 (it's blocking this PR)

@michaelsembwever
Copy link
Member Author

@michaelsembwever michaelsembwever merged commit 1b348f8 into apache:trunk Dec 19, 2025
4 of 5 checks passed
@michaelsembwever michaelsembwever deleted the mck/python2-gha branch December 19, 2025 23:42
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.

2 participants