Skip to content

ci(python): expand driver compatibility coverage - #795

Merged
youngsofun merged 2 commits into
databendlabs:mainfrom
youngsofun:codex/expand-python-compatibility-matrix
Aug 10, 2026
Merged

ci(python): expand driver compatibility coverage#795
youngsofun merged 2 commits into
databendlabs:mainfrom
youngsofun:codex/expand-python-compatibility-matrix

Conversation

@youngsofun

@youngsofun youngsofun commented Aug 7, 2026

Copy link
Copy Markdown
Member

Summary

  • expand the Python old-driver compatibility matrix with representative versions and dynamically resolve the latest PyPI release
  • resolve the latest non-draft Databend nightly release for compatibility tests instead of relying on the moving nightly image tag
  • default RUST_LOG to warn and enable Rust backtraces in all Python binding test variants while preserving caller-provided values
  • skip load-file method tests and the microsecond interval assertion when the old driver API or behavior does not support them
  • document version-gating requirements and keep the latest driver release in the compatibility matrix

Motivation

Databend runs newer binding tests against older driver versions to detect compatibility regressions. Keeping equivalent coverage in BendSQL catches unsupported test assumptions earlier and avoids blocking Databend development when a new test relies on behavior unavailable in an older driver or server.

Testing

  • ruff format bindings/python/tests/asyncio/steps/binding.py bindings/python/tests/blocking/steps/binding.py bindings/python/tests/cursor/steps/binding.py tests/nox/noxfile.py
  • nox -f tests/nox/noxfile.py --list
  • CI=1 DATABEND_META_VERSION=v1.2.931-nightly DATABEND_QUERY_VERSION=v1.2.931-nightly nox -R -f tests/nox/noxfile.py -s "new_test_with_old_drivers(driver_version='0.34.2', query_result_format='arrow')"
  • CI=1 DATABEND_META_VERSION=v1.2.931-nightly DATABEND_QUERY_VERSION=v1.2.931-nightly nox -R -f tests/nox/noxfile.py -s "new_test_with_old_drivers(driver_version='0.34.2', query_result_format='json')"
  • CI=1 DATABEND_META_VERSION=v1.2.931-nightly DATABEND_QUERY_VERSION=v1.2.931-nightly nox -R -f tests/nox/noxfile.py -s "new_test_with_old_drivers(driver_version='0.27.6', query_result_format='json')"
  • CI=1 DATABEND_META_VERSION=v1.2.931-nightly DATABEND_QUERY_VERSION=v1.2.931-nightly nox -R -f tests/nox/noxfile.py -s "new_test_with_old_drivers(driver_version='latest', query_result_format='json')"
  • ruby -e 'require "yaml"; YAML.load_file(".github/workflows/bindings.python.yml")'
  • git diff --check

@youngsofun
youngsofun force-pushed the codex/expand-python-compatibility-matrix branch 4 times, most recently from bfef37c to a6a13f6 Compare August 7, 2026 11:00
@youngsofun
youngsofun force-pushed the codex/expand-python-compatibility-matrix branch from a6a13f6 to 2ff5245 Compare August 7, 2026 11:09
@youngsofun
youngsofun merged commit bebb7e5 into databendlabs:main Aug 10, 2026
45 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.

2 participants