Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
777 commits
Select commit Hold shift + click to select a range
a246925
Remove is <int>
dkropachev Jan 4, 2025
fdfc7df
Merge pull request #399 from scylladb/dk/invalidate-tablets
dkropachev Jan 5, 2025
17c7ce0
Merge pull request #403 from scylladb/dk/remove-is-int
dkropachev Jan 5, 2025
693e93d
Fix wrong escape sequences
dkropachev Jan 5, 2025
d3e7231
Merge pull request #405 from scylladb/dk/fix-wrong-escape-sequences
dkropachev Jan 8, 2025
6b24241
Release offical wheels for python 3.13
fruch Jan 19, 2025
63dcd36
switch newer ubuntu version
fruch Jan 19, 2025
822a925
github actions: user newer cython versions
fruch Jan 20, 2025
e464955
Merge pull request #410 from fruch/use_newer_cython_in_builds
dkropachev Jan 21, 2025
dccfe90
Release 3.28.1
dkropachev Jan 23, 2025
be3c037
Stop calling PyEval_InitThreads
dkropachev Jan 23, 2025
d90ffc2
Set cython language level to 3
dkropachev Jan 23, 2025
0c8e2a6
setup.py: make it fail if extensions aren't built
fruch Jan 23, 2025
6b495fa
Migrate from distutils to setuptools
dkropachev Jan 23, 2025
0237110
setup.py: introduce pyproject.toml
fruch Jan 23, 2025
41ce587
cicd: use stable binmt
dkropachev Jan 24, 2025
1dbafa4
cicd: move to ubuntu 24.04
dkropachev Jan 26, 2025
7d1a2d5
cicd: fix macos builds
dkropachev Jan 26, 2025
c1ce2c0
cicd: fix windows builds
dkropachev Jan 26, 2025
3a4601a
cicd: start building python 3.13 wheel for aarch64
dkropachev Jan 26, 2025
d02c619
Merge pull request #411 from scylladb/dk/fix-3.13-building
dkropachev Jan 28, 2025
f05e37f
Release 3.28.2
dkropachev Jan 30, 2025
3db6c2c
Make any query to system.local use WHERE clause (#419)
dkropachev Feb 14, 2025
7263cea
docs: update theme 1.8.5 (#421)
dgarcia360 Feb 16, 2025
a77ea62
cicd: update choco openssl package version to 3.4.1 (#423)
dkropachev Feb 18, 2025
41e86cb
Small fixes for CICD (#414)
dkropachev Feb 18, 2025
297622f
Reimplement get_cluster_info using driver instead of cqlsh (#402)
dkropachev Feb 21, 2025
a226518
Sync with 3.29.0 (#406)
dkropachev Feb 23, 2025
4447a0b
Make building pipeline less confusing (#425)
dkropachev Feb 23, 2025
7304ae0
cqlengine: fix map remove feature for non-nullable values (#432)
dkropachev Feb 24, 2025
584af66
cicd: make build-push workflow push changes on manual dispatch (#435)
dkropachev Feb 25, 2025
dd128b5
cicd: switch to arm runners for linux-aarch64 (#437)
dkropachev Feb 27, 2025
6c5afa0
cicd: Make it possible to publish prior tags (#436)
dkropachev Feb 27, 2025
701f89d
cicd: make skip tests option work (#438)
dkropachev Feb 28, 2025
2cb73ff
cicd: fix publishing step (#439)
dkropachev Mar 1, 2025
d0dd9ee
Fix publishing issue (#442)
dkropachev Mar 5, 2025
fab0d30
PYTHON-1364 Fix ssl.wrap_socket errors (from eventlet) for Python 3.1…
absurdfarce Oct 12, 2023
4ffa37c
clean up last "import six" (#1197)
a-detiste Feb 27, 2024
d026cec
PYTHON-1378 Expand search directories for includes (#1198)
absurdfarce Mar 19, 2024
158c74c
Release 3.29.1: changelog & version (#1199)
absurdfarce Mar 19, 2024
dc5509e
PYTHON-1359 Fix for numpy>=1.24.0 (#1169)
weisslj Mar 26, 2024
d019ac0
Update installation.rst with Python3 print() syntax (#1204)
bschoening May 1, 2024
b1c67f9
PYTHON-1384 Remove usages of unittest.assertDictContainsSubset (#1206)
absurdfarce May 3, 2024
3647144
RST format fix for changelog
May 28, 2024
c18847c
Update README.rst with badges for version and license (#1210)
bschoening May 29, 2024
3e34b9e
remove dependency on old mock external module (#1201)
a-detiste May 30, 2024
2477029
removed future print_function, division, and with and some pre 3.7 ha…
bschoening May 31, 2024
908c6e1
Update geomet to latest in requirements.txt (#1207)
bschoening May 31, 2024
8d4eee7
Change format of badges in README from .md to .rst (#1212)
bschoening May 31, 2024
85aea8a
use timezone-aware API to avoid deprecated warning (#1213)
tchaikov Jul 8, 2024
f3c019a
PYTHON-1389 Removing deprecated test aliases (#1216)
absurdfarce Jul 12, 2024
2d93898
PYTHON-1297 Convert to pytest for running unit and integration tests …
absurdfarce Jul 16, 2024
0f73700
PYTHON-1393 Add support for Cassandra 4.1.x and 5.0 releases to CI (#…
absurdfarce Jul 30, 2024
c02cb03
PYTHON-1386 Make libev extension consistent with other extensions and…
absurdfarce Aug 22, 2024
fb5c239
PYTHON-1369 Extend driver vector support to arbitrary subtypes and fi…
absurdfarce Sep 4, 2024
fed644a
Release 3.29.2: changelog, version and documentation (#1226)
absurdfarce Sep 5, 2024
a10872c
cicd: update ubuntu runners to ubuntu-24.04
dkropachev Mar 11, 2025
e0668d0
tests: make tests fail if event loop fails
dkropachev Mar 10, 2025
e5e0467
cluster: fix _is_gevent_monkey_patched
dkropachev Mar 10, 2025
f910fc2
cicd: separate pip upgrade to a separate step
dkropachev Mar 10, 2025
485ce23
management.py: fix to fail on adding partition key
dkropachev Feb 23, 2025
a401409
Release 3.29.2: changelog, version and documentation
dkropachev Mar 11, 2025
23a6e85
Make schema agreement waiting code renew connection on each iteration
dkropachev Mar 27, 2025
2354c82
Revert "Make schema agreement waiting code renew connection on each i…
dkropachev Mar 28, 2025
0542998
chore: update theme 1.8.6
dgarcia360 Apr 10, 2025
c587c97
docs: update dependencies
dgarcia360 Apr 25, 2025
c7ea3c6
docs: update ResultSet.current_rows wrt empty pages
avikivity May 28, 2025
30f6d78
Merge pull request #472 from avikivity/empty-pages-doc-improv
roydahan May 29, 2025
d5834c6
Remove python 3.8 support
dkropachev May 31, 2025
4ad0566
Docs: Remove serverless
Lorak-mmk Jun 10, 2025
3f7bcbb
cluster: add application_info
dkropachev Jun 5, 2025
5c944b5
Update windows openssl to 3.5.1
dkropachev Jul 3, 2025
f487a61
docs: update theme 1.8.7
dgarcia360 Jul 4, 2025
b9be067
Don't call setup.py for building docs
Lorak-mmk Jul 4, 2025
03b795b
Format pyproject.toml
Lorak-mmk May 22, 2025
97e4457
pyproject.toml: Use license field
Lorak-mmk May 22, 2025
672e6d6
pyproject.toml: Specify required Python version
Lorak-mmk May 22, 2025
f494e1a
pyproject.toml: Move to dependency-groups
Lorak-mmk May 22, 2025
8367ec6
pytest.ini: Add -rf flag
Lorak-mmk Jul 3, 2025
4b72dc0
pytest.ini: Move to pyproject.toml
Lorak-mmk Jul 3, 2025
37108e2
Add ccm to dev deps
Lorak-mmk Jun 17, 2025
9fee70e
dev dependencies: Remove Python version requirements
Lorak-mmk Jul 4, 2025
aea7e37
Remove platform gevent requirements
Lorak-mmk Jul 4, 2025
ca1da76
Move tablets test to standard tests
Lorak-mmk Jul 3, 2025
120ab50
integration-tests.yml: Move to uv
Lorak-mmk Jul 3, 2025
45354cc
Remove run_integration_test.sh
Lorak-mmk Jul 3, 2025
eb5a40f
lib-build-and-push.yml: Move to uv
Lorak-mmk Jul 3, 2025
738ec29
Remove legacy dependencies files
Lorak-mmk Jul 3, 2025
f160402
README-dev.rst: Recommend uv usage
Lorak-mmk Jul 3, 2025
aa2a4b6
setup.py: Build concurrently by default
Lorak-mmk Jul 4, 2025
32ce441
uv: Rebuild lib when cython stuff changes
Lorak-mmk Jul 4, 2025
d540e14
build-sdist: Use input Python version
Lorak-mmk Jul 6, 2025
eb21975
Split README-dec into CONTRIBUTING and MAINTENANCE
Lorak-mmk Jul 4, 2025
d8ed0ff
CONTRIBUTING: Adjust commands to Scylla
Lorak-mmk Jul 4, 2025
3ead907
CONTRIBUTING: Recommend ccache/sccache
Lorak-mmk Jul 4, 2025
a92d714
Improve dev docs (#498)
Lorak-mmk Jul 8, 2025
dee0693
fix: make HostConnection.return_connection not to lock connection and
dkropachev Jul 8, 2025
7cc1a6c
fix: HostConnectionPool.return_connection not to lock connection and
dkropachev Jul 8, 2025
84435dd
fix: HostConnectionPool._maybe_trash_connection not to lock connection
dkropachev Jul 8, 2025
4f2312f
fix: HostConnection._open_connection_to_missing_shard not to lock pool
dkropachev Jul 8, 2025
c49ac3a
Remove Protocols V1, V2
mykaul Jun 19, 2025
52b7d25
Remove docs/upgrading.rst
mykaul Jul 15, 2025
e022378
Remove DSE tests
Lorak-mmk Jul 4, 2025
ffc6392
Add unit-tests for ShardAwarePortGenerator
dkropachev Jul 15, 2025
c7ca1c6
Optimise ShardAwarePortGenerator
dkropachev Jul 16, 2025
a3f37e8
MaterializedViewMetadataTestSimple: Explicitly set compaction strategy
Lorak-mmk Jul 17, 2025
1f97f6a
xfail compact storage tests
Lorak-mmk Jul 17, 2025
2b2fea2
CI: Update Scylla to 2025.2
Lorak-mmk Jul 17, 2025
222e5bd
test_tablets: Remove CCM_CLUSTER global
Lorak-mmk Jul 7, 2025
0c00198
Replace self.assertEqual with plain assert
Lorak-mmk Jul 8, 2025
03feeee
Replace self.assertIsNone with plain assert
Lorak-mmk Jul 8, 2025
ffee5a6
Replace self.assertIn with plain assert
Lorak-mmk Jul 8, 2025
dc2f13d
Replace self.assertIsInstance with plain assert
Lorak-mmk Jul 8, 2025
fd1edd4
Replace self.assertNotEqual with plain assert
Lorak-mmk Jul 8, 2025
9f9c957
Replace self.assertTrue with plain assert
Lorak-mmk Jul 8, 2025
c6f5c7c
Replace self.assertNotIn with plain assert
Lorak-mmk Jul 8, 2025
26e90ca
Replace self.assertFalse with plain assert
Lorak-mmk Jul 8, 2025
0173721
Replace self.assertLessEqual with plain assert
Lorak-mmk Jul 8, 2025
e7cfaae
Replace self.assertGreater with plain assert
Lorak-mmk Jul 8, 2025
ce235ba
Replace self.assertGreaterEqual with plain assert
Lorak-mmk Jul 8, 2025
641153d
Replace self.assertIsNotNone with plain assert
Lorak-mmk Jul 8, 2025
7f63c41
Replace self.assertHasAttr with plain assert
Lorak-mmk Jul 8, 2025
42fe640
Replace self.assertIs with plain assert
Lorak-mmk Jul 8, 2025
75f8675
Replace self.assertLess with plain assert
Lorak-mmk Jul 8, 2025
f3f3205
Replace self.assertIsNot with plain assert
Lorak-mmk Jul 8, 2025
2fe564e
Replace self.assertRegex with new util function
Lorak-mmk Jul 11, 2025
daafc95
Replace collection asserts with util methods
Lorak-mmk Jul 11, 2025
b8776a3
Replace self.assertAlmostEqual with pytest.approx
Lorak-mmk Jul 11, 2025
3841a33
verify_iterator_data: Use plain assert
Lorak-mmk Jul 11, 2025
5fcce2b
test_types: Use new assertEqual for callbacks
Lorak-mmk Jul 11, 2025
6fa002d
assert_startswith_diff: Move to utils
Lorak-mmk Jul 11, 2025
d3cfd9f
Replace commented out unittest asserts with plain asserts
Lorak-mmk Jul 11, 2025
83671d8
bytesio_testhelper: Use plain asserts for equality testing
Lorak-mmk Jul 11, 2025
39b9225
bytesio_testhelper: Remove assert_raises argument
Lorak-mmk Jul 11, 2025
4452fa4
cython/test_datetime_from_timestamp: Use plain assert
Lorak-mmk Jul 11, 2025
c79be1f
cython/test_types: Use plain asserts
Lorak-mmk Jul 11, 2025
c2cb8a5
test_response_future: Use util asserts
Lorak-mmk Jul 11, 2025
c848ceb
Replace assert_startswith with plain assert
Lorak-mmk Jul 11, 2025
ae16aa1
Remove unused assertion functions
Lorak-mmk Jul 11, 2025
ba53f59
assert_query_count_equals: Use pytest.fail
Lorak-mmk Jul 11, 2025
afc6e0b
test_types: Remove unittests asserts
Lorak-mmk Jul 11, 2025
da874c2
tests: Get rid of self.fail calls
Lorak-mmk Jul 11, 2025
874b918
check_lookup: use plain assert
Lorak-mmk Jul 16, 2025
4a0b793
integration/standard/test_metadata: Plain asserts in FunctionTest
Lorak-mmk Jul 16, 2025
ff4d392
execute_count: Use plain assert
Lorak-mmk Jul 16, 2025
07f01bb
Replace unitttest assertRaises with pytest.raises
Lorak-mmk Jul 11, 2025
38b23da
assert_quiescent_pool_state: Use plain asserts
Lorak-mmk Jul 16, 2025
c233c26
Test ConstantReconnectionPolicy: Fix the copy-paste bug
Lorak-mmk Jul 17, 2025
77b8684
Make sure that _read_watcher is not empty before start it
dkropachev Jul 17, 2025
472b679
Make lbevreactor remove connection from new connections list on discard
dkropachev Jul 17, 2025
8acf8f9
(improvement) log a warning when importing of lz4 or snappy packages …
mykaul Aug 6, 2025
1262d43
(minor improvement): small refactoring in NetworkTopologyStrategy's m…
mykaul Aug 7, 2025
cad1e91
(minor improvement): small refactoring in SimpleStrategy's make_token…
mykaul Aug 11, 2025
c8d35ca
(Improvement) Remove in-memory Scylla tables
mykaul Aug 10, 2025
9b46f1d
cicd: update windows openssl lib
dkropachev Aug 11, 2025
a6a49c3
cicd: make SCYLLA_VERSION consistant
dkropachev Aug 11, 2025
84c854b
pyproject.toml: add optional Snappy and LZ4 package dependencies.
mykaul Aug 8, 2025
dfbe101
Remove protocol versions >5 from MAX_SUPPORTED
mykaul Jul 16, 2025
2371634
Remove DSE only continuous_paging_options feature
mykaul Jul 17, 2025
8fec502
Fix test_use_requested_compression() to use Protocol version 4
mykaul Aug 12, 2025
8a6d95b
(improvement) set monitor_reporting_enabled False
mykaul Aug 13, 2025
0fa9520
(cleanup) remove code related to v1,v2 protocols
mykaul Aug 13, 2025
07b9fba
Release 3.29.4: changelog, version and documentation
dkropachev Aug 16, 2025
af40026
Changelog - few typos
mykaul Sep 4, 2025
849ebec
build(deps): bump eventlet from 0.33.3 to 0.40.3 in /docs
dependabot[bot] Sep 4, 2025
dd00221
(improvement) do not fetch * from system.local and system.peers, but …
mykaul Sep 1, 2025
f048a8e
docs: update theme 1.8.8
dgarcia360 Sep 15, 2025
021485b
Add renovate.json
renovate[bot] Sep 26, 2025
152653d
cluster: default metadata_request_timeout to control_connection_timeout
dkropachev Sep 26, 2025
42df52b
control_connection: read actual metadata_request_timeout from Cluster…
dkropachev Sep 26, 2025
51dbe8b
tests: add more integration tests for metadata_request_timeout
dkropachev Sep 26, 2025
4893f3f
chore(deps): update actions/setup-java action to v5
renovate[bot] Sep 28, 2025
8725487
chore(deps): update actions/download-artifact action to v5
renovate[bot] Sep 28, 2025
8e7b50a
chore(deps): update actions/checkout action to v5
renovate[bot] Sep 27, 2025
08b738f
windows: update openssl library
dkropachev Sep 26, 2025
031da6f
chore(deps): update actions/setup-python action to v6
renovate[bot] Sep 29, 2025
fd91dbf
fix(deps): update dependency gremlinpython to v3.7.4
renovate[bot] Sep 29, 2025
22f3e33
chore(deps): update dependency sphinx-sitemap to v2.9.0
renovate[bot] Oct 6, 2025
49a4e39
chore(deps): update astral-sh/setup-uv action to v7
renovate[bot] Oct 8, 2025
d6ae040
Stop support for 3.9
dkropachev Oct 12, 2025
377777e
cicd: make openssl installation step stable
dkropachev Oct 9, 2025
38816d8
Update cibuildwheel to 3.2.1
dkropachev Oct 12, 2025
f52edbc
Add codex and claude files to .gitignore
dkropachev Oct 15, 2025
99d4309
cicd: drop macos-13 runner
dkropachev Oct 17, 2025
c1320dc
docs: rename workflows to .yml
dkropachev Sep 26, 2025
e0abebd
docs: update workflows triggering conditions
dkropachev Sep 26, 2025
bedd7f5
docs: format workflow files
dkropachev Sep 26, 2025
59c1a2a
docs: update dependencies
dkropachev Sep 26, 2025
e63b4b9
docs: switch from poetry to uv
dkropachev Sep 26, 2025
9bb1641
cicd: don't test workflow on docs changes
dkropachev Sep 26, 2025
e851a56
docs: set ubuntu-latest runner
dkropachev Sep 26, 2025
ac91d60
chore(deps): update astral-sh/setup-uv action to v7
renovate[bot] Oct 19, 2025
c431bb5
chore(deps): update github artifact actions
renovate[bot] Oct 24, 2025
b3c63c0
policies: fix dc aware and rack aware policies initialization
dkropachev Nov 4, 2025
bc0317b
token-aware-policy: drop _tablets_routing_v1 flag
dkropachev Nov 4, 2025
2f271be
Update TokenAwarePolicy.make_query_plan to schedule to replicas first
dkropachev Nov 3, 2025
f3812e8
Release 3.29.5: changelog, version and documentation
dkropachev Nov 5, 2025
27ca050
docs: update tags to publish
dkropachev Nov 6, 2025
5225556
unit: fix test_successful_wait_for_connection failure
dkropachev Nov 6, 2025
78f5542
compression: better handle configuration problems
dkropachev Nov 13, 2025
dfa6a2a
tests: drop `sure` package
dkropachev Nov 16, 2025
c5efea9
Remove serverless tests
dkropachev Nov 14, 2025
77e2e26
Remove serverless feature
dkropachev Nov 14, 2025
6eaff9c
test: temporary lock pytest on 9.0.0 or earlier
dkropachev Nov 14, 2025
2509b1c
Fix dict handling in pool and metrics
dkropachev Nov 18, 2025
3385e6f
chore(deps): update actions/checkout action to v6
renovate[bot] Nov 20, 2025
5309326
Add python 3.14 support
dkropachev Oct 16, 2025
77e0492
Perform LWT metadata protocol handshake
sylwiaszunejko Nov 13, 2025
5c31bb6
Parse LWT flags when creating prepared statement
sylwiaszunejko Nov 13, 2025
f568aeb
Add tests for lwt
sylwiaszunejko Nov 13, 2025
7597059
Don not shuffle replicas for LWT queries
sylwiaszunejko Nov 13, 2025
f8d7508
Make xfail_scylla_version_lt accept any ent_scylla_version version
dkropachev Nov 25, 2025
390e165
Add support of CONNECTION_METADATA_CHANGE event
dkropachev Nov 25, 2025
01eb2e8
Add support of LWT flag for Batch statements
dkropachev Nov 26, 2025
2ad9ba6
TokenAwarePolicy: enable shuffling by default
dkropachev May 31, 2025
f3c8092
Fix tests to match new shuffle_replicas default
dkropachev Nov 27, 2025
c71835a
docs: style Python API reference docs
dgarcia360 Nov 17, 2025
067a85c
docs: update uv.lock
dgarcia360 Nov 24, 2025
946c041
Rename connection_metadata to client_routes
dkropachev Nov 27, 2025
ba3aeaa
Release 3.29.6: changelog, version and documentation
dkropachev Nov 27, 2025
592ebf7
Make it compression=None a valid case
dkropachev Dec 7, 2025
89f1a12
Release 3.29.7: changelog, version and documentation
dkropachev Dec 8, 2025
777ef58
chore: update docs theme to 1.8.10
dgarcia360 Dec 9, 2025
dd1adc7
chore(deps): update github artifact actions
renovate[bot] Dec 12, 2025
43665f9
Apply suggested fix to docs/api/cassandra/protocol.rst from Copilot A…
mykaul Dec 16, 2025
cbec151
Apply suggested fix to docs/api/cassandra/protocol.rst from Copilot A…
mykaul Dec 16, 2025
90fdce6
chore(deps): update dependency hatchling to v1.28.0
renovate[bot] Dec 29, 2025
5dd0640
Fix for Missing call to superclass `__init__` during object initializ…
mykaul Dec 16, 2025
234deef
Apply Python style improvements to test assertions
Copilot Dec 23, 2025
fdca667
Potential fix for code scanning alert no. 3: Workflow does not contai…
mykaul Dec 22, 2025
20c696e
.github/workflows/publish-manually.yml: Potential fix for code scanni…
mykaul Dec 22, 2025
7acc9f6
Don't mark node down when control connection fails to connect
dkropachev Dec 30, 2025
f3e0c62
(improvement) remove supprot for protocols <3 from cython files
mykaul Jan 4, 2026
d37e3e5
Pull version information from systel.local, when version info is not
dkropachev Jan 1, 2026
f08cdeb
Fix infinite retry when single host fails with server error
Copilot Dec 27, 2025
de89eb1
Use endpoint instead od Host in _try_connect
sylwiaszunejko Dec 29, 2025
d399173
tests/integration/standard: fix test to reflect RR policy randomizing…
sylwiaszunejko Dec 29, 2025
26be3d6
tests/integration/standard: update test to reflect new behavior
sylwiaszunejko Dec 29, 2025
2bd2fb8
tests/integration/standard: don't compare Host instances
sylwiaszunejko Dec 29, 2025
240c538
tests/unit: Provide host_id when initializing Host
sylwiaszunejko Dec 22, 2025
2766ad8
tests/integration/standard: return empty query plan if there are no l…
sylwiaszunejko Dec 30, 2025
2a369df
tests/integration/standard: allow execute to throw Unavailable exception
sylwiaszunejko Jan 12, 2026
3419cd7
Don't check if host is in initial contact points when setting default…
sylwiaszunejko Jan 8, 2026
a3adf76
Call on_add before distance to properly initialize lbp
sylwiaszunejko Jan 8, 2026
a0cde2e
Don't create Host instances with random host_id
sylwiaszunejko Dec 29, 2025
472461c
(improvement)TokenAwarePolicy::make_query_plan(): remove redundant ch…
mykaul Jan 21, 2026
711a7eb
test: optimize test_fast_shutdown with event-based synchronization
mykaul Jan 18, 2026
016b5de
(Fix)race condition during host IP address update
mykaul Jan 23, 2026
0688d6f
add uv files to .gitignore
dkropachev Jan 29, 2026
56c8aa5
Include original error in ConnectionShutdown messages
dkropachev Jan 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 9 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
version: 2
updates:
- package-ecosystem: "pip"
directory: "/docs"
schedule:
interval: "daily"
allow:
- dependency-name: "sphinx-scylladb-theme"
- dependency-name: "sphinx-multiversion-scylla"
17 changes: 17 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
## Pre-review checklist

<!--
Make sure you took care of the issues on the list.
Put 'x' into those boxes which apply.
You can also create the PR now and click on all relevant checkboxes.
See CONTRIBUTING.rst for more details.
-->

- [ ] I have split my patch into logically separate commits.
- [ ] All commit messages clearly explain what they change and why.
- [ ] I added relevant tests for new features and bug fixes.
- [ ] All commits compile, pass static checks and pass test.
- [ ] PR description sums up the changes and reasons why they should be introduced.
- [ ] I have provided docstrings for the public items that I want to introduce.
- [ ] I have adjusted the documentation in `./docs/source/`.
- [ ] I added appropriate `Fixes:` annotations to PR description.
21 changes: 21 additions & 0 deletions .github/workflows/build-pre-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Test building on pre-release python version

on:
workflow_dispatch:
inputs:
python-version:
description: 'Python version to run against'
required: true
type: string

target:
type: string
description: "target os to build for: linux,macos-x86,macos-arm,windows,linux-aarch64"
default: "linux,macos-x86,macos-arm,windows,linux-aarch64"

jobs:
build-and-publish:
uses: ./.github/workflows/lib-build-and-push.yml
with:
python-version: ${{ inputs.python-version }}
target: ${{ inputs.target }}
33 changes: 33 additions & 0 deletions .github/workflows/build-push.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Build and upload to PyPi

on:
push:
branches:
- master
- 'branch-**'
workflow_dispatch:

jobs:
build-and-publish:
name: "Build wheels"
uses: ./.github/workflows/lib-build-and-push.yml
with:
upload: false

# TODO: Remove when https://github.com/pypa/gh-action-pypi-publish/issues/166 is fixed and update build-and-publish.with.upload to ${{ endsWith(github.event.ref, 'scylla') }}
publish:
name: "Publish wheels to PyPi"
if: ${{ endsWith(github.event.ref, 'scylla') }}
needs: build-and-publish
runs-on: ubuntu-24.04
permissions:
id-token: write
steps:
- uses: actions/download-artifact@v7
with:
path: dist
merge-multiple: true

- uses: pypa/gh-action-pypi-publish@release/v1
with:
skip-existing: true
23 changes: 23 additions & 0 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Test wheels building

on:
pull_request:
branches:
- master
paths-ignore:
- docs/*
- examples/*
- .gitignore
- '*.rst'
- '*.ini'
- LICENSE
- .github/dependabot.yml
- .github/pull_request_template.md

jobs:
test-wheels-build:
name: "Test wheels building"
if: "!contains(github.event.pull_request.labels.*.name, 'disable-test-build')"
uses: ./.github/workflows/lib-build-and-push.yml
with:
upload: false
48 changes: 48 additions & 0 deletions .github/workflows/docs-pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: "Docs / Publish"
# For more information,
# see https://sphinx-theme.scylladb.com/stable/deployment/production.html#available-workflows

permissions:
contents: write

on:
push:
branches:
- master
- 'branch-**'
paths:
- "docs/**"
- ".github/workflows/docs-pages.yml"
- "cassandra/**"
- "pyproject.toml"
- "setup.py"
- "CHANGELOG.rst"
workflow_dispatch:

jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
with:
ref: ${{ github.event.repository.default_branch }}
persist-credentials: false
fetch-depth: 0

- name: Install uv
uses: astral-sh/setup-uv@v7
with:
working-directory: docs
enable-cache: true

- name: Build docs
run: make -C docs multiversion

- name: Build redirects
run: make -C docs redirects

- name: Deploy docs to GitHub Pages
run: ./docs/_utils/deploy.sh
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
43 changes: 43 additions & 0 deletions .github/workflows/docs-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: "Docs / Build PR"
# For more information,
# see https://sphinx-theme.scylladb.com/stable/deployment/production.html#available-workflows

on:
push:
branches:
- master
paths:
- "docs/**"
- ".github/workflows/docs-pr.yml"
- "cassandra/**"
- "pyproject.toml"
- "setup.py"
- "CHANGELOG.rst"
pull_request:
paths:
- "docs/**"
- ".github/workflows/docs-pr.yml"
- "cassandra/**"
- "pyproject.toml"
- "setup.py"
- "CHANGELOG.rst"
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
with:
persist-credentials: false
fetch-depth: 0

- name: Install uv
uses: astral-sh/setup-uv@v7
with:
working-directory: docs
enable-cache: true

- name: Build docs
run: make -C docs test
95 changes: 95 additions & 0 deletions .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
name: Integration tests

on:
push:
branches:
- master
- 'branch-**'
paths-ignore:
- docs/*
- examples/*
- scripts/*
- .gitignore
- '*.rst'
- '*.ini'
- LICENSE
- .github/dependabot.yml
- .github/pull_request_template.md
- "*.md"
- .github/workflows/docs-*
pull_request:
paths-ignore:
- docs/*
- examples/*
- scripts/*
- .gitignore
- '*.rst'
- '*.ini'
- LICENSE
- .github/dependabot.yml
- .github/pull_request_template.md
- "*.md"
- .github/workflows/docs-* -
workflow_dispatch:

jobs:
tests:
name: test ${{ matrix.event_loop_manager }} (${{ matrix.python-version }})
if: "!contains(github.event.pull_request.labels.*.name, 'disable-integration-tests')"
runs-on: ubuntu-24.04
env:
SCYLLA_VERSION: release:2025.2
strategy:
fail-fast: false
matrix:
java-version: [8]
python-version: ["3.11", "3.12", "3.13", "3.14", "3.14t"]
event_loop_manager: ["libev", "asyncio", "asyncore"]
exclude:
- python-version: "3.12"
event_loop_manager: "asyncore"
- python-version: "3.13"
event_loop_manager: "asyncore"
- python-version: "3.14"
event_loop_manager: "asyncore"
- python-version: "3.14t"
event_loop_manager: "asyncore"

steps:
- uses: actions/checkout@v6

- name: Set up JDK ${{ matrix.java-version }}
uses: actions/setup-java@v5
with:
java-version: ${{ matrix.java-version }}
distribution: 'adopt'

- name: Install libev
run: sudo apt-get install libev4 libev-dev

- name: Install uv
uses: astral-sh/setup-uv@v7
with:
python-version: ${{ matrix.python-version }}

# This is to get honest accounting of test time vs download time vs build time.
# Not strictly necessary for running tests.
- name: Build driver
run: uv sync

# This is to get honest accounting of test time vs download time vs build time.
# Not strictly necessary for running tests.
- name: Download Scylla
run: |
uv run ccm create scylla-driver-temp -n 1 --scylla --version ${SCYLLA_VERSION}
uv run ccm remove

- name: Test with pytest
env:
EVENT_LOOP_MANAGER: ${{ matrix.event_loop_manager }}
PROTOCOL_VERSION: 4
run: |
if [[ "${{ matrix.python-version }}" =~ t$ ]]; then
export PYTHON_GIL=0
fi
uv run pytest tests/integration/standard/ tests/integration/cqlengine/
Loading